.include <bsd.init.mk>
.include "../llvm.pre.mk"

.if defined(TOOLS_PREFIX)
# Build static library during cross-tools stage
LIB=		llvm
INTERNALLIB=
.else
PACKAGE=	clang
SHLIB_CXX=	llvm
SHLIB_MAJOR=	19
PRIVATELIB=
.if ${MACHINE} == "powerpc"
# Work around "relocation R_PPC_GOT16 out of range" errors
PICFLAG=        -fPIC
.endif
.endif

SHARED_CXXFLAGS+=	-UPIC # To avoid compile errors

CFLAGS+=	-I${.OBJDIR}
CFLAGS+=	-I${SRCTOP}/sys/contrib/zstd/lib

.if ${MK_LLVM_TARGET_AARCH64} == "no" && ${MK_LLVM_TARGET_ARM} == "no" && \
    ${MK_LLVM_TARGET_BPF} == "no" && ${MK_LLVM_TARGET_MIPS} == "no" && \
    ${MK_LLVM_TARGET_POWERPC} == "no" && ${MK_LLVM_TARGET_RISCV} == "no" && \
    ${MK_LLVM_TARGET_X86} == "no"
.error Please enable at least one of: MK_LLVM_TARGET_AARCH64,\
 MK_LLVM_TARGET_ARM, MK_LLVM_TARGET_BPF, MK_LLVM_TARGET_MIPS, \
 MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_RISCV, or MK_LLVM_TARGET_X86
.endif

.for arch in AArch64 ARM BPF Mips PowerPC RISCV X86
. if ${MK_LLVM_TARGET_${arch:tu}} != "no"
CFLAGS+=	-I${LLVM_SRCS}/lib/Target/${arch}
. endif
.endfor

CFLAGS+=	-I${LLVM_SRCS}/lib/ObjCopy

TARGET_ARCH?=	${MACHINE_ARCH}

.if ${TARGET_ARCH} != "amd64"
CFLAGS+=	-DBLAKE3_NO_AVX512 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_SSE41 \
		-DBLAKE3_NO_SSE2
.endif
.if ${TARGET_ARCH} != "arm64"
CFLAGS+=	-DBLAKE3_USE_NEON=0
.endif

SRCDIR=		llvm/lib

# Explanation of different SRCS variants below:
# SRCS_MIN:	always required, even for bootstrap
# SRCS_MIW:	required for world stage (after cross-tools)
# SRCS_EXT:	required for MK_CLANG_EXTRAS
# SRCS_EXL:	required for MK_CLANG_EXTRAS and MK_LLD
# SRCS_FUL:	required for MK_CLANG_FULL
# SRCS_LLD:	required for MK_LLD
# SRCS_XDB:	required for MK_CLANG_EXTRAS and MK_LLDB
# SRCS_XDL:	required for MK_CLANG_EXTRAS, MK_LLD and MK_LLDB
# SRCS_XDW:	required for MK_CLANG_EXTRAS and MK_LLDB in world stage
# SRCS_COV:	required for MK_LLVM_COV

SRCS_MIN+=	Analysis/AliasAnalysis.cpp
SRCS_MIN+=	Analysis/AliasAnalysisEvaluator.cpp
SRCS_MIN+=	Analysis/AliasSetTracker.cpp
SRCS_EXT+=	Analysis/Analysis.cpp
SRCS_MIN+=	Analysis/AssumeBundleQueries.cpp
SRCS_MIN+=	Analysis/AssumptionCache.cpp
SRCS_MIN+=	Analysis/BasicAliasAnalysis.cpp
SRCS_MIN+=	Analysis/BlockFrequencyInfo.cpp
SRCS_MIN+=	Analysis/BlockFrequencyInfoImpl.cpp
SRCS_MIN+=	Analysis/BranchProbabilityInfo.cpp
SRCS_MIN+=	Analysis/CFG.cpp
SRCS_MIN+=	Analysis/CFGPrinter.cpp
SRCS_MIN+=	Analysis/CFGSCCPrinter.cpp
SRCS_MIN+=	Analysis/CGSCCPassManager.cpp
SRCS_MIN+=	Analysis/CallGraph.cpp
SRCS_MIN+=	Analysis/CallGraphSCCPass.cpp
SRCS_MIN+=	Analysis/CallPrinter.cpp
SRCS_MIN+=	Analysis/CaptureTracking.cpp
SRCS_MIN+=	Analysis/CmpInstAnalysis.cpp
SRCS_MIN+=	Analysis/CodeMetrics.cpp
SRCS_MIN+=	Analysis/ConstantFolding.cpp
SRCS_MIN+=	Analysis/ConstraintSystem.cpp
SRCS_MIN+=	Analysis/CostModel.cpp
SRCS_MIN+=	Analysis/CycleAnalysis.cpp
SRCS_MIN+=	Analysis/DDG.cpp
SRCS_MIN+=	Analysis/DDGPrinter.cpp
SRCS_MIN+=	Analysis/Delinearization.cpp
SRCS_MIN+=	Analysis/DemandedBits.cpp
SRCS_MIN+=	Analysis/DependenceAnalysis.cpp
SRCS_MIN+=	Analysis/DependenceGraphBuilder.cpp
SRCS_MIN+=	Analysis/DomConditionCache.cpp
SRCS_MIN+=	Analysis/DomPrinter.cpp
SRCS_MIN+=	Analysis/DomTreeUpdater.cpp
SRCS_MIN+=	Analysis/DominanceFrontier.cpp
SRCS_MIN+=	Analysis/FunctionPropertiesAnalysis.cpp
SRCS_MIN+=	Analysis/GlobalsModRef.cpp
SRCS_MIN+=	Analysis/GuardUtils.cpp
SRCS_MIN+=	Analysis/HeatUtils.cpp
SRCS_MIN+=	Analysis/IRSimilarityIdentifier.cpp
SRCS_MIN+=	Analysis/IVDescriptors.cpp
SRCS_MIN+=	Analysis/IVUsers.cpp
SRCS_MIN+=	Analysis/ImportedFunctionsInliningStatistics.cpp
SRCS_MIN+=	Analysis/IndirectCallPromotionAnalysis.cpp
SRCS_MIN+=	Analysis/InlineAdvisor.cpp
SRCS_MIN+=	Analysis/InlineCost.cpp
SRCS_MIN+=	Analysis/InlineOrder.cpp
SRCS_MIN+=	Analysis/InlineSizeEstimatorAnalysis.cpp
SRCS_MIN+=	Analysis/InstCount.cpp
SRCS_MIN+=	Analysis/InstructionPrecedenceTracking.cpp
SRCS_MIN+=	Analysis/InstructionSimplify.cpp
SRCS_MIN+=	Analysis/InteractiveModelRunner.cpp
SRCS_MIN+=	Analysis/LazyBlockFrequencyInfo.cpp
SRCS_MIN+=	Analysis/LazyBranchProbabilityInfo.cpp
SRCS_MIN+=	Analysis/LazyCallGraph.cpp
SRCS_MIN+=	Analysis/LazyValueInfo.cpp
SRCS_MIN+=	Analysis/Lint.cpp
SRCS_MIN+=	Analysis/Loads.cpp
SRCS_MIN+=	Analysis/Local.cpp
SRCS_MIN+=	Analysis/LoopAccessAnalysis.cpp
SRCS_MIN+=	Analysis/LoopAnalysisManager.cpp
SRCS_MIN+=	Analysis/LoopCacheAnalysis.cpp
SRCS_MIN+=	Analysis/LoopInfo.cpp
SRCS_MIN+=	Analysis/LoopNestAnalysis.cpp
SRCS_MIN+=	Analysis/LoopPass.cpp
SRCS_MIN+=	Analysis/LoopUnrollAnalyzer.cpp
SRCS_MIN+=	Analysis/MLInlineAdvisor.cpp
SRCS_MIN+=	Analysis/MemDerefPrinter.cpp
SRCS_MIN+=	Analysis/MemoryBuiltins.cpp
SRCS_MIN+=	Analysis/MemoryDependenceAnalysis.cpp
SRCS_MIN+=	Analysis/MemoryLocation.cpp
SRCS_MIN+=	Analysis/MemoryProfileInfo.cpp
SRCS_MIN+=	Analysis/MemorySSA.cpp
SRCS_MIN+=	Analysis/MemorySSAUpdater.cpp
SRCS_MIN+=	Analysis/ModuleDebugInfoPrinter.cpp
SRCS_MIN+=	Analysis/ModuleSummaryAnalysis.cpp
SRCS_MIN+=	Analysis/MustExecute.cpp
SRCS_MIN+=	Analysis/ObjCARCAliasAnalysis.cpp
SRCS_MIN+=	Analysis/ObjCARCAnalysisUtils.cpp
SRCS_MIN+=	Analysis/ObjCARCInstKind.cpp
SRCS_MIN+=	Analysis/OptimizationRemarkEmitter.cpp
SRCS_MIN+=	Analysis/OverflowInstAnalysis.cpp
SRCS_MIN+=	Analysis/PHITransAddr.cpp
SRCS_MIN+=	Analysis/PhiValues.cpp
SRCS_MIN+=	Analysis/PostDominators.cpp
SRCS_MIN+=	Analysis/ProfileSummaryInfo.cpp
SRCS_MIN+=	Analysis/PtrUseVisitor.cpp
SRCS_MIN+=	Analysis/RegionInfo.cpp
SRCS_MIN+=	Analysis/RegionPass.cpp
SRCS_MIN+=	Analysis/RegionPrinter.cpp
SRCS_MIN+=	Analysis/ReplayInlineAdvisor.cpp
SRCS_MIN+=	Analysis/ScalarEvolution.cpp
SRCS_MIN+=	Analysis/ScalarEvolutionAliasAnalysis.cpp
SRCS_MIN+=	Analysis/ScalarEvolutionDivision.cpp
SRCS_MIN+=	Analysis/ScalarEvolutionNormalization.cpp
SRCS_MIN+=	Analysis/ScopedNoAliasAA.cpp
SRCS_MIN+=	Analysis/StackLifetime.cpp
SRCS_MIN+=	Analysis/StackSafetyAnalysis.cpp
SRCS_MIN+=	Analysis/StructuralHash.cpp
SRCS_MIN+=	Analysis/SyntheticCountsUtils.cpp
SRCS_MIN+=	Analysis/TargetLibraryInfo.cpp
SRCS_MIN+=	Analysis/TargetTransformInfo.cpp
SRCS_MIN+=	Analysis/TensorSpec.cpp
SRCS_MIN+=	Analysis/TrainingLogger.cpp
SRCS_MIN+=	Analysis/TypeBasedAliasAnalysis.cpp
SRCS_MIN+=	Analysis/TypeMetadataUtils.cpp
SRCS_MIN+=	Analysis/UniformityAnalysis.cpp
SRCS_MIN+=	Analysis/ValueLattice.cpp
SRCS_MIN+=	Analysis/ValueLatticeUtils.cpp
SRCS_MIN+=	Analysis/ValueTracking.cpp
SRCS_MIN+=	Analysis/VectorUtils.cpp
SRCS_MIN+=	AsmParser/LLLexer.cpp
SRCS_MIN+=	AsmParser/LLParser.cpp
SRCS_MIN+=	AsmParser/Parser.cpp
SRCS_MIN+=	BinaryFormat/AMDGPUMetadataVerifier.cpp
SRCS_MIN+=	BinaryFormat/COFF.cpp
SRCS_MIN+=	BinaryFormat/Dwarf.cpp
SRCS_XDB+=	BinaryFormat/ELF.cpp
SRCS_MIN+=	BinaryFormat/MachO.cpp
SRCS_MIN+=	BinaryFormat/Magic.cpp
SRCS_MIN+=	BinaryFormat/MsgPackDocument.cpp
SRCS_MIN+=	BinaryFormat/MsgPackDocumentYAML.cpp
SRCS_MIN+=	BinaryFormat/MsgPackReader.cpp
SRCS_MIN+=	BinaryFormat/MsgPackWriter.cpp
SRCS_MIN+=	BinaryFormat/Wasm.cpp
SRCS_MIN+=	BinaryFormat/XCOFF.cpp
SRCS_MIN+=	Bitcode/Reader/BitReader.cpp
SRCS_EXT+=	Bitcode/Reader/BitcodeAnalyzer.cpp
SRCS_MIN+=	Bitcode/Reader/BitcodeReader.cpp
SRCS_MIN+=	Bitcode/Reader/MetadataLoader.cpp
SRCS_MIN+=	Bitcode/Reader/ValueList.cpp
SRCS_MIN+=	Bitcode/Writer/BitcodeWriter.cpp
SRCS_MIN+=	Bitcode/Writer/BitcodeWriterPass.cpp
SRCS_MIN+=	Bitcode/Writer/ValueEnumerator.cpp
SRCS_MIN+=	Bitstream/Reader/BitstreamReader.cpp
SRCS_MIN+=	CodeGen/AggressiveAntiDepBreaker.cpp
SRCS_MIN+=	CodeGen/AllocationOrder.cpp
SRCS_MIN+=	CodeGen/Analysis.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AIXException.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/ARMException.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AccelTable.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AddressPool.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AsmPrinter.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/CodeViewDebug.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DIE.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DIEHash.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DebugHandlerBase.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DebugLocStream.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfCFIException.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfCompileUnit.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfDebug.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfExpression.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfFile.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfStringPool.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/DwarfUnit.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/EHStreamer.cpp
SRCS_EXT+=	CodeGen/AsmPrinter/ErlangGCPrinter.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/OcamlGCPrinter.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/PseudoProbePrinter.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/WasmException.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/WinCFGuard.cpp
SRCS_MIN+=	CodeGen/AsmPrinter/WinException.cpp
SRCS_MIN+=	CodeGen/AssignmentTrackingAnalysis.cpp
SRCS_MIN+=	CodeGen/AtomicExpandPass.cpp
SRCS_MIN+=	CodeGen/BasicBlockPathCloning.cpp
SRCS_MIN+=	CodeGen/BasicBlockSections.cpp
SRCS_MIN+=	CodeGen/BasicBlockSectionsProfileReader.cpp
SRCS_MIN+=	CodeGen/BasicTargetTransformInfo.cpp
SRCS_MIN+=	CodeGen/BranchFolding.cpp
SRCS_MIN+=	CodeGen/BranchRelaxation.cpp
SRCS_MIN+=	CodeGen/BreakFalseDeps.cpp
SRCS_MIN+=	CodeGen/CFGuardLongjmp.cpp
SRCS_MIN+=	CodeGen/CFIFixup.cpp
SRCS_MIN+=	CodeGen/CFIInstrInserter.cpp
SRCS_MIN+=	CodeGen/CalcSpillWeights.cpp
SRCS_MIN+=	CodeGen/CallBrPrepare.cpp
SRCS_MIN+=	CodeGen/CallingConvLower.cpp
SRCS_MIN+=	CodeGen/CodeGen.cpp
SRCS_MIN+=	CodeGen/CodeGenCommonISel.cpp
SRCS_MIN+=	CodeGen/CodeGenPrepare.cpp
SRCS_EXL+=	CodeGen/CommandFlags.cpp
SRCS_MIN+=	CodeGen/ComplexDeinterleavingPass.cpp
SRCS_MIN+=	CodeGen/CriticalAntiDepBreaker.cpp
SRCS_MIN+=	CodeGen/DFAPacketizer.cpp
SRCS_MIN+=	CodeGen/DeadMachineInstructionElim.cpp
SRCS_MIN+=	CodeGen/DetectDeadLanes.cpp
SRCS_MIN+=	CodeGen/DwarfEHPrepare.cpp
SRCS_MIN+=	CodeGen/EHContGuardCatchret.cpp
SRCS_MIN+=	CodeGen/EarlyIfConversion.cpp
SRCS_MIN+=	CodeGen/EdgeBundles.cpp
SRCS_MIN+=	CodeGen/ExecutionDomainFix.cpp
SRCS_MIN+=	CodeGen/ExpandLargeDivRem.cpp
SRCS_MIN+=	CodeGen/ExpandLargeFpConvert.cpp
SRCS_MIN+=	CodeGen/ExpandMemCmp.cpp
SRCS_MIN+=	CodeGen/ExpandPostRAPseudos.cpp
SRCS_MIN+=	CodeGen/ExpandReductions.cpp
SRCS_MIN+=	CodeGen/ExpandVectorPredication.cpp
SRCS_MIN+=	CodeGen/FEntryInserter.cpp
SRCS_MIN+=	CodeGen/FaultMaps.cpp
SRCS_MIN+=	CodeGen/FinalizeISel.cpp
SRCS_MIN+=	CodeGen/FixupStatepointCallerSaved.cpp
SRCS_MIN+=	CodeGen/FuncletLayout.cpp
SRCS_MIN+=	CodeGen/GCEmptyBasicBlocks.cpp
SRCS_MIN+=	CodeGen/GCMetadata.cpp
SRCS_MIN+=	CodeGen/GCMetadataPrinter.cpp
SRCS_MIN+=	CodeGen/GCRootLowering.cpp
SRCS_MIN+=	CodeGen/GlobalISel/CSEInfo.cpp
SRCS_MIN+=	CodeGen/GlobalISel/CSEMIRBuilder.cpp
SRCS_MIN+=	CodeGen/GlobalISel/CallLowering.cpp
SRCS_MIN+=	CodeGen/GlobalISel/Combiner.cpp
SRCS_MIN+=	CodeGen/GlobalISel/CombinerHelper.cpp
SRCS_MIN+=	CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
SRCS_MIN+=	CodeGen/GlobalISel/GIMatchTableExecutor.cpp
SRCS_MIN+=	CodeGen/GlobalISel/GISelChangeObserver.cpp
SRCS_MIN+=	CodeGen/GlobalISel/GISelKnownBits.cpp
SRCS_MIN+=	CodeGen/GlobalISel/GlobalISel.cpp
SRCS_MIN+=	CodeGen/GlobalISel/IRTranslator.cpp
SRCS_MIN+=	CodeGen/GlobalISel/InlineAsmLowering.cpp
SRCS_MIN+=	CodeGen/GlobalISel/InstructionSelect.cpp
SRCS_MIN+=	CodeGen/GlobalISel/InstructionSelector.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LegalityPredicates.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LegalizeMutations.cpp
SRCS_MIN+=	CodeGen/GlobalISel/Legalizer.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LegalizerHelper.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LegalizerInfo.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LoadStoreOpt.cpp
SRCS_MIN+=	CodeGen/GlobalISel/Localizer.cpp
SRCS_MIN+=	CodeGen/GlobalISel/LostDebugLocObserver.cpp
SRCS_MIN+=	CodeGen/GlobalISel/MachineIRBuilder.cpp
SRCS_MIN+=	CodeGen/GlobalISel/RegBankSelect.cpp
SRCS_MIN+=	CodeGen/GlobalISel/Utils.cpp
SRCS_MIN+=	CodeGen/GlobalMerge.cpp
SRCS_MIN+=	CodeGen/HardwareLoops.cpp
SRCS_MIN+=	CodeGen/IfConversion.cpp
SRCS_MIN+=	CodeGen/ImplicitNullChecks.cpp
SRCS_MIN+=	CodeGen/IndirectBrExpandPass.cpp
SRCS_MIN+=	CodeGen/InitUndef.cpp
SRCS_MIN+=	CodeGen/InlineSpiller.cpp
SRCS_MIN+=	CodeGen/InterferenceCache.cpp
SRCS_MIN+=	CodeGen/InterleavedAccessPass.cpp
SRCS_MIN+=	CodeGen/InterleavedLoadCombinePass.cpp
SRCS_MIN+=	CodeGen/IntrinsicLowering.cpp
SRCS_MIN+=	CodeGen/JMCInstrumenter.cpp
SRCS_MIN+=	CodeGen/KCFI.cpp
SRCS_MIN+=	CodeGen/LLVMTargetMachine.cpp
SRCS_MIN+=	CodeGen/LatencyPriorityQueue.cpp
SRCS_MIN+=	CodeGen/LazyMachineBlockFrequencyInfo.cpp
SRCS_MIN+=	CodeGen/LexicalScopes.cpp
SRCS_MIN+=	CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
SRCS_MIN+=	CodeGen/LiveDebugValues/LiveDebugValues.cpp
SRCS_MIN+=	CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
SRCS_MIN+=	CodeGen/LiveDebugVariables.cpp
SRCS_MIN+=	CodeGen/LiveInterval.cpp
SRCS_MIN+=	CodeGen/LiveIntervalCalc.cpp
SRCS_MIN+=	CodeGen/LiveIntervalUnion.cpp
SRCS_MIN+=	CodeGen/LiveIntervals.cpp
SRCS_MIN+=	CodeGen/LivePhysRegs.cpp
SRCS_MIN+=	CodeGen/LiveRangeCalc.cpp
SRCS_MIN+=	CodeGen/LiveRangeEdit.cpp
SRCS_MIN+=	CodeGen/LiveRangeShrink.cpp
SRCS_MIN+=	CodeGen/LiveRegMatrix.cpp
SRCS_MIN+=	CodeGen/LiveRegUnits.cpp
SRCS_MIN+=	CodeGen/LiveStacks.cpp
SRCS_MIN+=	CodeGen/LiveVariables.cpp
SRCS_MIN+=	CodeGen/LocalStackSlotAllocation.cpp
SRCS_MIN+=	CodeGen/LoopTraversal.cpp
SRCS_MIN+=	CodeGen/LowLevelTypeUtils.cpp
SRCS_MIN+=	CodeGen/LowerEmuTLS.cpp
SRCS_MIN+=	CodeGen/MBFIWrapper.cpp
SRCS_MIN+=	CodeGen/MIRCanonicalizerPass.cpp
SRCS_MIN+=	CodeGen/MIRFSDiscriminator.cpp
SRCS_MIN+=	CodeGen/MIRNamerPass.cpp
SRCS_EXT+=	CodeGen/MIRParser/MILexer.cpp
SRCS_EXT+=	CodeGen/MIRParser/MIParser.cpp
SRCS_EXT+=	CodeGen/MIRParser/MIRParser.cpp
SRCS_MIN+=	CodeGen/MIRPrinter.cpp
SRCS_MIN+=	CodeGen/MIRPrintingPass.cpp
SRCS_MIN+=	CodeGen/MIRSampleProfile.cpp
SRCS_MIN+=	CodeGen/MIRVRegNamerUtils.cpp
SRCS_MIN+=	CodeGen/MLRegAllocEvictAdvisor.cpp
SRCS_MIN+=	CodeGen/MLRegAllocPriorityAdvisor.cpp
SRCS_MIN+=	CodeGen/MachineBasicBlock.cpp
SRCS_MIN+=	CodeGen/MachineBlockFrequencyInfo.cpp
SRCS_MIN+=	CodeGen/MachineBlockPlacement.cpp
SRCS_MIN+=	CodeGen/MachineBranchProbabilityInfo.cpp
SRCS_MIN+=	CodeGen/MachineCFGPrinter.cpp
SRCS_MIN+=	CodeGen/MachineCSE.cpp
SRCS_MIN+=	CodeGen/MachineCheckDebugify.cpp
SRCS_MIN+=	CodeGen/MachineCombiner.cpp
SRCS_MIN+=	CodeGen/MachineConvergenceVerifier.cpp
SRCS_MIN+=	CodeGen/MachineCopyPropagation.cpp
SRCS_MIN+=	CodeGen/MachineCycleAnalysis.cpp
SRCS_MIN+=	CodeGen/MachineDebugify.cpp
SRCS_MIN+=	CodeGen/MachineDominanceFrontier.cpp
SRCS_MIN+=	CodeGen/MachineDominators.cpp
SRCS_MIN+=	CodeGen/MachineFrameInfo.cpp
SRCS_MIN+=	CodeGen/MachineFunction.cpp
SRCS_MIN+=	CodeGen/MachineFunctionAnalysis.cpp
SRCS_MIN+=	CodeGen/MachineFunctionPass.cpp
SRCS_MIN+=	CodeGen/MachineFunctionPrinterPass.cpp
SRCS_MIN+=	CodeGen/MachineFunctionSplitter.cpp
SRCS_MIN+=	CodeGen/MachineInstr.cpp
SRCS_MIN+=	CodeGen/MachineInstrBundle.cpp
SRCS_MIN+=	CodeGen/MachineLICM.cpp
SRCS_MIN+=	CodeGen/MachineLateInstrsCleanup.cpp
SRCS_MIN+=	CodeGen/MachineLoopInfo.cpp
SRCS_MIN+=	CodeGen/MachineLoopUtils.cpp
SRCS_MIN+=	CodeGen/MachineModuleInfo.cpp
SRCS_MIN+=	CodeGen/MachineModuleInfoImpls.cpp
SRCS_MIN+=	CodeGen/MachineModuleSlotTracker.cpp
SRCS_MIN+=	CodeGen/MachineOperand.cpp
SRCS_MIN+=	CodeGen/MachineOptimizationRemarkEmitter.cpp
SRCS_MIN+=	CodeGen/MachineOutliner.cpp
SRCS_MIN+=	CodeGen/MachinePassManager.cpp
SRCS_MIN+=	CodeGen/MachinePipeliner.cpp
SRCS_MIN+=	CodeGen/MachinePostDominators.cpp
SRCS_MIN+=	CodeGen/MachineRegionInfo.cpp
SRCS_MIN+=	CodeGen/MachineRegisterInfo.cpp
SRCS_MIN+=	CodeGen/MachineSSAContext.cpp
SRCS_MIN+=	CodeGen/MachineSSAUpdater.cpp
SRCS_MIN+=	CodeGen/MachineScheduler.cpp
SRCS_MIN+=	CodeGen/MachineSink.cpp
SRCS_MIN+=	CodeGen/MachineSizeOpts.cpp
SRCS_MIN+=	CodeGen/MachineStableHash.cpp
SRCS_MIN+=	CodeGen/MachineStripDebug.cpp
SRCS_MIN+=	CodeGen/MachineTraceMetrics.cpp
SRCS_MIN+=	CodeGen/MachineUniformityAnalysis.cpp
SRCS_MIN+=	CodeGen/MachineVerifier.cpp
SRCS_MIN+=	CodeGen/MacroFusion.cpp
SRCS_MIN+=	CodeGen/ModuloSchedule.cpp
SRCS_MIN+=	CodeGen/MultiHazardRecognizer.cpp
SRCS_EXT+=	CodeGen/NonRelocatableStringpool.cpp
SRCS_MIN+=	CodeGen/OptimizePHIs.cpp
SRCS_MIN+=	CodeGen/PHIElimination.cpp
SRCS_MIN+=	CodeGen/PHIEliminationUtils.cpp
SRCS_MIN+=	CodeGen/PatchableFunction.cpp
SRCS_MIN+=	CodeGen/PeepholeOptimizer.cpp
SRCS_MIN+=	CodeGen/PostRAHazardRecognizer.cpp
SRCS_MIN+=	CodeGen/PostRASchedulerList.cpp
SRCS_MIN+=	CodeGen/PreISelIntrinsicLowering.cpp
SRCS_MIN+=	CodeGen/ProcessImplicitDefs.cpp
SRCS_MIN+=	CodeGen/PrologEpilogInserter.cpp
SRCS_MIN+=	CodeGen/PseudoProbeInserter.cpp
SRCS_MIN+=	CodeGen/PseudoSourceValue.cpp
SRCS_MIN+=	CodeGen/RDFGraph.cpp
SRCS_MIN+=	CodeGen/RDFLiveness.cpp
SRCS_MIN+=	CodeGen/RDFRegisters.cpp
SRCS_MIN+=	CodeGen/ReachingDefAnalysis.cpp
SRCS_MIN+=	CodeGen/RegAllocBase.cpp
SRCS_MIN+=	CodeGen/RegAllocBasic.cpp
SRCS_MIN+=	CodeGen/RegAllocEvictionAdvisor.cpp
SRCS_MIN+=	CodeGen/RegAllocFast.cpp
SRCS_MIN+=	CodeGen/RegAllocGreedy.cpp
SRCS_MIN+=	CodeGen/RegAllocPBQP.cpp
SRCS_MIN+=	CodeGen/RegAllocPriorityAdvisor.cpp
SRCS_MIN+=	CodeGen/RegUsageInfoCollector.cpp
SRCS_MIN+=	CodeGen/RegUsageInfoPropagate.cpp
SRCS_MIN+=	CodeGen/RegisterBank.cpp
SRCS_MIN+=	CodeGen/RegisterBankInfo.cpp
SRCS_MIN+=	CodeGen/RegisterClassInfo.cpp
SRCS_MIN+=	CodeGen/RegisterCoalescer.cpp
SRCS_MIN+=	CodeGen/RegisterPressure.cpp
SRCS_MIN+=	CodeGen/RegisterScavenging.cpp
SRCS_MIN+=	CodeGen/RegisterUsageInfo.cpp
SRCS_MIN+=	CodeGen/RemoveRedundantDebugValues.cpp
SRCS_MIN+=	CodeGen/RenameIndependentSubregs.cpp
SRCS_MIN+=	CodeGen/ReplaceWithVeclib.cpp
SRCS_MIN+=	CodeGen/ResetMachineFunctionPass.cpp
SRCS_MIN+=	CodeGen/SafeStack.cpp
SRCS_MIN+=	CodeGen/SafeStackLayout.cpp
SRCS_MIN+=	CodeGen/SanitizerBinaryMetadata.cpp
SRCS_MIN+=	CodeGen/ScheduleDAG.cpp
SRCS_MIN+=	CodeGen/ScheduleDAGInstrs.cpp
SRCS_MIN+=	CodeGen/ScheduleDAGPrinter.cpp
SRCS_MIN+=	CodeGen/ScoreboardHazardRecognizer.cpp
SRCS_MIN+=	CodeGen/SelectOptimize.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/DAGCombiner.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/FastISel.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/InstrEmitter.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeDAG.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeTypes.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeVectorOps.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/ScheduleDAGFast.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAG.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGDumper.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGISel.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/StatepointLowering.cpp
SRCS_MIN+=	CodeGen/SelectionDAG/TargetLowering.cpp
SRCS_MIN+=	CodeGen/ShadowStackGCLowering.cpp
SRCS_MIN+=	CodeGen/ShrinkWrap.cpp
SRCS_MIN+=	CodeGen/SjLjEHPrepare.cpp
SRCS_MIN+=	CodeGen/SlotIndexes.cpp
SRCS_MIN+=	CodeGen/SpillPlacement.cpp
SRCS_MIN+=	CodeGen/SplitKit.cpp
SRCS_MIN+=	CodeGen/StackColoring.cpp
SRCS_MIN+=	CodeGen/StackFrameLayoutAnalysisPass.cpp
SRCS_MIN+=	CodeGen/StackMapLivenessAnalysis.cpp
SRCS_MIN+=	CodeGen/StackMaps.cpp
SRCS_MIN+=	CodeGen/StackProtector.cpp
SRCS_MIN+=	CodeGen/StackSlotColoring.cpp
SRCS_MIN+=	CodeGen/SwiftErrorValueTracking.cpp
SRCS_MIN+=	CodeGen/SwitchLoweringUtils.cpp
SRCS_MIN+=	CodeGen/TailDuplication.cpp
SRCS_MIN+=	CodeGen/TailDuplicator.cpp
SRCS_MIN+=	CodeGen/TargetFrameLoweringImpl.cpp
SRCS_MIN+=	CodeGen/TargetInstrInfo.cpp
SRCS_MIN+=	CodeGen/TargetLoweringBase.cpp
SRCS_MIN+=	CodeGen/TargetLoweringObjectFileImpl.cpp
SRCS_MIN+=	CodeGen/TargetOptionsImpl.cpp
SRCS_MIN+=	CodeGen/TargetPassConfig.cpp
SRCS_MIN+=	CodeGen/TargetRegisterInfo.cpp
SRCS_MIN+=	CodeGen/TargetSchedule.cpp
SRCS_MIN+=	CodeGen/TargetSubtargetInfo.cpp
SRCS_MIN+=	CodeGen/TwoAddressInstructionPass.cpp
SRCS_MIN+=	CodeGen/TypePromotion.cpp
SRCS_MIN+=	CodeGen/UnreachableBlockElim.cpp
SRCS_MIN+=	CodeGen/ValueTypes.cpp
SRCS_MIN+=	CodeGen/VirtRegMap.cpp
SRCS_MIN+=	CodeGen/WasmEHPrepare.cpp
SRCS_MIN+=	CodeGen/WinEHPrepare.cpp
SRCS_MIN+=	CodeGen/WindowScheduler.cpp
SRCS_MIN+=	CodeGen/XRayInstrumentation.cpp
SRCS_MIN+=	CodeGenTypes/LowLevelType.cpp
SRCS_EXT+=	DWARFLinker/Classic/DWARFLinker.cpp
SRCS_EXT+=	DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
SRCS_EXT+=	DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
SRCS_EXT+=	DWARFLinker/Classic/DWARFStreamer.cpp
SRCS_EXT+=	DWARFLinker/DWARFLinkerBase.cpp
SRCS_EXT+=	DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DIEAttributeCloner.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFEmitterImpl.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFLinker.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFLinkerImpl.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DWARFLinkerUnit.cpp
SRCS_EXT+=	DWARFLinker/Parallel/DependencyTracker.cpp
SRCS_EXT+=	DWARFLinker/Parallel/OutputSections.cpp
SRCS_EXT+=	DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
SRCS_EXT+=	DWARFLinker/Utils.cpp
SRCS_EXT+=	DWP/DWP.cpp
SRCS_EXT+=	DWP/DWPError.cpp
SRCS_MIW+=	DebugInfo/BTF/BTFContext.cpp
SRCS_MIW+=	DebugInfo/BTF/BTFParser.cpp
SRCS_MIN+=	DebugInfo/CodeView/AppendingTypeTableBuilder.cpp
SRCS_MIN+=	DebugInfo/CodeView/CVSymbolVisitor.cpp
SRCS_MIN+=	DebugInfo/CodeView/CVTypeVisitor.cpp
SRCS_MIN+=	DebugInfo/CodeView/CodeViewError.cpp
SRCS_MIN+=	DebugInfo/CodeView/CodeViewRecordIO.cpp
SRCS_MIN+=	DebugInfo/CodeView/ContinuationRecordBuilder.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugChecksumsSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugCrossExSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugCrossImpSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugFrameDataSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugLinesSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugStringTableSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugSubsectionRecord.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugSubsectionVisitor.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugSymbolRVASubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/DebugSymbolsSubsection.cpp
SRCS_MIN+=	DebugInfo/CodeView/EnumTables.cpp
SRCS_MIN+=	DebugInfo/CodeView/Formatters.cpp
SRCS_MIN+=	DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
SRCS_MIN+=	DebugInfo/CodeView/LazyRandomTypeCollection.cpp
SRCS_MIN+=	DebugInfo/CodeView/Line.cpp
SRCS_MIN+=	DebugInfo/CodeView/MergingTypeTableBuilder.cpp
SRCS_MIN+=	DebugInfo/CodeView/RecordName.cpp
SRCS_MIN+=	DebugInfo/CodeView/RecordSerialization.cpp
SRCS_MIN+=	DebugInfo/CodeView/SimpleTypeSerializer.cpp
SRCS_EXT+=	DebugInfo/CodeView/StringsAndChecksums.cpp
SRCS_MIN+=	DebugInfo/CodeView/SymbolDumper.cpp
SRCS_MIN+=	DebugInfo/CodeView/SymbolRecordHelpers.cpp
SRCS_MIN+=	DebugInfo/CodeView/SymbolRecordMapping.cpp
SRCS_MIN+=	DebugInfo/CodeView/SymbolSerializer.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeDumpVisitor.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeHashing.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeIndex.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeIndexDiscovery.cpp
SRCS_EXT+=	DebugInfo/CodeView/TypeRecordHelpers.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeRecordMapping.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeStreamMerger.cpp
SRCS_MIN+=	DebugInfo/CodeView/TypeTableCollection.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFAcceleratorTable.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFAddressRange.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFCompileUnit.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFContext.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDataExtractor.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugAbbrev.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugAddr.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugArangeSet.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugAranges.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugFrame.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugLine.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugLoc.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugMacro.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugPubTable.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugRangeList.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDebugRnglists.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFDie.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFExpression.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFFormValue.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFGdbIndex.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFListTable.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFTypePrinter.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFTypeUnit.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFUnit.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFUnitIndex.cpp
SRCS_MIN+=	DebugInfo/DWARF/DWARFVerifier.cpp
SRCS_MIN+=	DebugInfo/MSF/MSFBuilder.cpp
SRCS_MIN+=	DebugInfo/MSF/MSFCommon.cpp
SRCS_MIN+=	DebugInfo/MSF/MSFError.cpp
SRCS_MIN+=	DebugInfo/MSF/MappedBlockStream.cpp
SRCS_EXT+=	DebugInfo/PDB/GenericError.cpp
SRCS_EXT+=	DebugInfo/PDB/IPDBSourceFile.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/DbiModuleDescriptor.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/DbiModuleList.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/DbiStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/DbiStreamBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/EnumTables.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/FormatUtil.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/GSIStreamBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/GlobalsStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/Hash.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/HashTable.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/InfoStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/InfoStreamBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/InjectedSourceStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/InputFile.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/LinePrinter.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/ModuleDebugStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NamedStreamMap.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumGlobals.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumModules.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumSymbols.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeEnumTypes.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeExeSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeFunctionSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeInlineSiteSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeLineNumber.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativePublicSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeRawSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeSession.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeSourceFile.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeArray.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeBuiltin.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeEnum.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypePointer.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeTypedef.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeUDT.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/NativeTypeVTShape.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/PDBFile.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/PDBFileBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/PDBStringTable.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/PublicsStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/RawError.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/SymbolCache.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/SymbolStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/TpiHashing.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/TpiStream.cpp
SRCS_EXT+=	DebugInfo/PDB/Native/TpiStreamBuilder.cpp
SRCS_EXT+=	DebugInfo/PDB/PDB.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBContext.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBExtras.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBInterfaceAnchors.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymDumper.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolAnnotation.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolBlock.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolCompiland.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolCompilandDetails.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolCompilandEnv.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolCustom.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolData.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolExe.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolFunc.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolLabel.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolPublicSymbol.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolThunk.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeArray.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeCustom.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeDimension.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeEnum.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeFriend.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeManaged.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypePointer.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeTypedef.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeUDT.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeVTable.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolUnknown.cpp
SRCS_EXT+=	DebugInfo/PDB/PDBSymbolUsingNamespace.cpp
SRCS_EXT+=	DebugInfo/PDB/UDTLayout.cpp
SRCS_MIW+=	DebugInfo/Symbolize/DIPrinter.cpp
SRCS_MIW+=	DebugInfo/Symbolize/Markup.cpp
SRCS_MIW+=	DebugInfo/Symbolize/MarkupFilter.cpp
SRCS_MIW+=	DebugInfo/Symbolize/SymbolizableObjectFile.cpp
SRCS_MIW+=	DebugInfo/Symbolize/Symbolize.cpp
SRCS_MIW+=	Debuginfod/BuildIDFetcher.cpp
SRCS_MIW+=	Debuginfod/Debuginfod.cpp
SRCS_MIW+=	Debuginfod/HTTPClient.cpp
SRCS_MIW+=	Debuginfod/HTTPServer.cpp
SRCS_MIN+=	Demangle/DLangDemangle.cpp
SRCS_MIN+=	Demangle/Demangle.cpp
SRCS_MIN+=	Demangle/ItaniumDemangle.cpp
SRCS_MIN+=	Demangle/MicrosoftDemangle.cpp
SRCS_MIN+=	Demangle/MicrosoftDemangleNodes.cpp
SRCS_MIN+=	Demangle/RustDemangle.cpp
SRCS_XDB+=	ExecutionEngine/ExecutionEngine.cpp
SRCS_XDB+=	ExecutionEngine/ExecutionEngineBindings.cpp
SRCS_XDB+=	ExecutionEngine/GDBRegistrationListener.cpp
SRCS_XDB+=	ExecutionEngine/Interpreter/Execution.cpp
SRCS_XDB+=	ExecutionEngine/Interpreter/ExternalFunctions.cpp
SRCS_XDB+=	ExecutionEngine/Interpreter/Interpreter.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/COFF.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/COFFDirectiveParser.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/COFF_x86_64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/DWARFRecordSectionSplitter.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/EHFrameSupport.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELFLinkGraphBuilder.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_aarch32.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_aarch64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_i386.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_loongarch.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_ppc64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_riscv.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ELF_x86_64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/JITLink.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/JITLinkGeneric.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/MachO.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/MachO_arm64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/MachO_x86_64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/aarch32.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/aarch64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/i386.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/loongarch.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/ppc64.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/riscv.cpp
SRCS_EXT+=	ExecutionEngine/JITLink/x86_64.cpp
SRCS_XDB+=	ExecutionEngine/MCJIT/MCJIT.cpp
SRCS_EXT+=	ExecutionEngine/Orc/COFFPlatform.cpp
SRCS_EXT+=	ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
SRCS_EXT+=	ExecutionEngine/Orc/CompileOnDemandLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/CompileUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Core.cpp
SRCS_EXT+=	ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
SRCS_EXT+=	ExecutionEngine/Orc/DebugUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Debugging/DebuggerSupport.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ELFNixPlatform.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCGenericDylibManager.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
SRCS_EXT+=	ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ExecutionUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ExecutorProcessControl.cpp
SRCS_EXT+=	ExecutionEngine/Orc/IRCompileLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/IRTransformLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/IndirectionUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
SRCS_EXT+=	ExecutionEngine/Orc/LLJIT.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Layer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/LazyReexports.cpp
SRCS_EXT+=	ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
SRCS_EXT+=	ExecutionEngine/Orc/MachOPlatform.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Mangling.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ObjectFileInterface.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ObjectLinkingLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ObjectTransformLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/OrcABISupport.cpp
SRCS_EXT+=	ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Shared/AllocationActions.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Shared/ObjectFormats.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Shared/OrcError.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/SimpleRemoteEPC.cpp
SRCS_EXT+=	ExecutionEngine/Orc/Speculation.cpp
SRCS_XDB+=	ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
SRCS_EXT+=	ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
SRCS_EXT+=	ExecutionEngine/Orc/TargetProcess/TargetExecutionUtils.cpp
SRCS_EXT+=	ExecutionEngine/Orc/TaskDispatch.cpp
SRCS_EXT+=	ExecutionEngine/Orc/ThreadSafeModule.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/JITSymbol.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
SRCS_XDB+=	ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp
SRCS_XDB+=	ExecutionEngine/SectionMemoryManager.cpp
SRCS_XDB+=	ExecutionEngine/TargetSelect.cpp
SRCS_MIN+=	Frontend/Driver/CodeGenOptions.cpp
SRCS_MIN+=	Frontend/HLSL/HLSLResource.cpp
SRCS_MIN+=	Frontend/Offloading/OffloadWrapper.cpp
SRCS_MIN+=	Frontend/Offloading/Utility.cpp
SRCS_MIN+=	Frontend/OpenMP/OMP.cpp
SRCS_MIN+=	Frontend/OpenMP/OMPContext.cpp
SRCS_MIN+=	Frontend/OpenMP/OMPIRBuilder.cpp
SRCS_MIN+=	IR/AbstractCallSite.cpp
SRCS_MIN+=	IR/AsmWriter.cpp
SRCS_MIN+=	IR/Assumptions.cpp
SRCS_MIN+=	IR/Attributes.cpp
SRCS_MIN+=	IR/AutoUpgrade.cpp
SRCS_MIN+=	IR/BasicBlock.cpp
SRCS_MIN+=	IR/BuiltinGCs.cpp
SRCS_MIN+=	IR/Comdat.cpp
SRCS_MIN+=	IR/ConstantFold.cpp
SRCS_MIN+=	IR/ConstantRange.cpp
SRCS_MIN+=	IR/ConstantRangeList.cpp
SRCS_MIN+=	IR/Constants.cpp
SRCS_MIN+=	IR/ConvergenceVerifier.cpp
SRCS_MIN+=	IR/Core.cpp
SRCS_MIN+=	IR/CycleInfo.cpp
SRCS_MIN+=	IR/DIBuilder.cpp
SRCS_MIN+=	IR/DIExpressionOptimizer.cpp
SRCS_MIN+=	IR/DataLayout.cpp
SRCS_MIN+=	IR/DebugInfo.cpp
SRCS_MIN+=	IR/DebugInfoMetadata.cpp
SRCS_MIN+=	IR/DebugLoc.cpp
SRCS_MIN+=	IR/DebugProgramInstruction.cpp
SRCS_MIN+=	IR/DiagnosticHandler.cpp
SRCS_MIN+=	IR/DiagnosticInfo.cpp
SRCS_MIN+=	IR/DiagnosticPrinter.cpp
SRCS_MIN+=	IR/Dominators.cpp
SRCS_MIN+=	IR/EHPersonalities.cpp
SRCS_MIN+=	IR/FPEnv.cpp
SRCS_MIN+=	IR/Function.cpp
SRCS_MIN+=	IR/GCStrategy.cpp
SRCS_MIN+=	IR/GVMaterializer.cpp
SRCS_MIN+=	IR/Globals.cpp
SRCS_MIN+=	IR/IRBuilder.cpp
SRCS_MIN+=	IR/IRPrintingPasses.cpp
SRCS_MIN+=	IR/InlineAsm.cpp
SRCS_MIN+=	IR/Instruction.cpp
SRCS_MIN+=	IR/Instructions.cpp
SRCS_MIN+=	IR/IntrinsicInst.cpp
SRCS_MIN+=	IR/LLVMContext.cpp
SRCS_MIN+=	IR/LLVMContextImpl.cpp
SRCS_MIN+=	IR/LLVMRemarkStreamer.cpp
SRCS_MIN+=	IR/LegacyPassManager.cpp
SRCS_MIN+=	IR/MDBuilder.cpp
SRCS_MIN+=	IR/Mangler.cpp
SRCS_MIN+=	IR/MemoryModelRelaxationAnnotations.cpp
SRCS_MIN+=	IR/Metadata.cpp
SRCS_MIN+=	IR/Module.cpp
SRCS_MIN+=	IR/ModuleSummaryIndex.cpp
SRCS_MIN+=	IR/Operator.cpp
SRCS_MIN+=	IR/OptBisect.cpp
SRCS_MIN+=	IR/Pass.cpp
SRCS_MIN+=	IR/PassInstrumentation.cpp
SRCS_MIN+=	IR/PassManager.cpp
SRCS_MIN+=	IR/PassRegistry.cpp
SRCS_MIN+=	IR/PassTimingInfo.cpp
SRCS_MIN+=	IR/PrintPasses.cpp
SRCS_MIN+=	IR/ProfDataUtils.cpp
SRCS_MIN+=	IR/ProfileSummary.cpp
SRCS_MIN+=	IR/PseudoProbe.cpp
SRCS_MIN+=	IR/ReplaceConstant.cpp
SRCS_MIN+=	IR/RuntimeLibcalls.cpp
SRCS_MIN+=	IR/SSAContext.cpp
SRCS_MIN+=	IR/SafepointIRVerifier.cpp
SRCS_MIN+=	IR/Statepoint.cpp
SRCS_MIN+=	IR/StructuralHash.cpp
SRCS_MIN+=	IR/Type.cpp
SRCS_MIN+=	IR/TypeFinder.cpp
SRCS_MIN+=	IR/Use.cpp
SRCS_MIN+=	IR/User.cpp
SRCS_MIN+=	IR/VFABIDemangler.cpp
SRCS_MIN+=	IR/Value.cpp
SRCS_MIN+=	IR/ValueSymbolTable.cpp
SRCS_MIN+=	IR/VectorBuilder.cpp
SRCS_MIN+=	IR/Verifier.cpp
SRCS_MIN+=	IRPrinter/IRPrintingPasses.cpp
SRCS_MIN+=	IRReader/IRReader.cpp
SRCS_MIN+=	LTO/LTO.cpp
SRCS_MIN+=	LTO/LTOBackend.cpp
SRCS_EXL+=	LTO/LTOCodeGenerator.cpp
SRCS_EXL+=	LTO/LTOModule.cpp
SRCS_MIN+=	LTO/SummaryBasedOptimizations.cpp
SRCS_EXL+=	LTO/ThinLTOCodeGenerator.cpp
SRCS_MIN+=	LTO/UpdateCompilerUsed.cpp
SRCS_MIN+=	Linker/IRMover.cpp
# Only needed for clangd/clang-query, uncomment once we build those.
# SRCS_XDW+=	LineEditor/LineEditor.cpp
SRCS_MIN+=	Linker/LinkModules.cpp
SRCS_MIN+=	MC/ConstantPools.cpp
SRCS_MIN+=	MC/ELFObjectWriter.cpp
SRCS_MIN+=	MC/GOFFObjectWriter.cpp
SRCS_MIN+=	MC/MCAsmBackend.cpp
SRCS_MIN+=	MC/MCAsmInfo.cpp
SRCS_MIN+=	MC/MCAsmInfoCOFF.cpp
SRCS_MIN+=	MC/MCAsmInfoDarwin.cpp
SRCS_MIN+=	MC/MCAsmInfoELF.cpp
SRCS_MIN+=	MC/MCAsmInfoXCOFF.cpp
SRCS_MIN+=	MC/MCAsmMacro.cpp
SRCS_MIN+=	MC/MCAsmStreamer.cpp
SRCS_MIN+=	MC/MCAssembler.cpp
SRCS_MIN+=	MC/MCCodeEmitter.cpp
SRCS_MIN+=	MC/MCCodeView.cpp
SRCS_MIN+=	MC/MCContext.cpp
SRCS_MIN+=	MC/MCDXContainerStreamer.cpp
SRCS_MIN+=	MC/MCDXContainerWriter.cpp
SRCS_XDL+=	MC/MCDisassembler/Disassembler.cpp
SRCS_MIN+=	MC/MCDisassembler/MCDisassembler.cpp
SRCS_XDW+=	MC/MCDisassembler/MCExternalSymbolizer.cpp
SRCS_MIN+=	MC/MCDisassembler/MCRelocationInfo.cpp
SRCS_XDW+=	MC/MCDisassembler/MCSymbolizer.cpp
SRCS_MIN+=	MC/MCDwarf.cpp
SRCS_MIN+=	MC/MCELFObjectTargetWriter.cpp
SRCS_MIN+=	MC/MCELFStreamer.cpp
SRCS_MIN+=	MC/MCExpr.cpp
SRCS_MIN+=	MC/MCFragment.cpp
SRCS_MIN+=	MC/MCGOFFStreamer.cpp
SRCS_MIN+=	MC/MCInst.cpp
SRCS_MIN+=	MC/MCInstPrinter.cpp
SRCS_MIN+=	MC/MCInstrAnalysis.cpp
SRCS_MIN+=	MC/MCInstrDesc.cpp
SRCS_MIN+=	MC/MCInstrInfo.cpp
SRCS_MIN+=	MC/MCLinkerOptimizationHint.cpp
SRCS_MIN+=	MC/MCMachOStreamer.cpp
SRCS_MIN+=	MC/MCMachObjectTargetWriter.cpp
SRCS_MIN+=	MC/MCNullStreamer.cpp
SRCS_MIN+=	MC/MCObjectFileInfo.cpp
SRCS_MIN+=	MC/MCObjectStreamer.cpp
SRCS_MIN+=	MC/MCObjectWriter.cpp
SRCS_MIN+=	MC/MCParser/AsmLexer.cpp
SRCS_MIN+=	MC/MCParser/AsmParser.cpp
SRCS_MIN+=	MC/MCParser/COFFAsmParser.cpp
SRCS_MIN+=	MC/MCParser/DarwinAsmParser.cpp
SRCS_MIN+=	MC/MCParser/ELFAsmParser.cpp
SRCS_MIN+=	MC/MCParser/GOFFAsmParser.cpp
SRCS_MIN+=	MC/MCParser/MCAsmLexer.cpp
SRCS_MIN+=	MC/MCParser/MCAsmParser.cpp
SRCS_MIN+=	MC/MCParser/MCAsmParserExtension.cpp
SRCS_MIN+=	MC/MCParser/MCTargetAsmParser.cpp
SRCS_MIN+=	MC/MCParser/WasmAsmParser.cpp
SRCS_MIN+=	MC/MCParser/XCOFFAsmParser.cpp
SRCS_MIN+=	MC/MCPseudoProbe.cpp
SRCS_MIN+=	MC/MCRegisterInfo.cpp
SRCS_MIN+=	MC/MCSPIRVStreamer.cpp
SRCS_MIN+=	MC/MCSchedule.cpp
SRCS_MIN+=	MC/MCSection.cpp
SRCS_MIN+=	MC/MCSectionCOFF.cpp
SRCS_MIN+=	MC/MCSectionDXContainer.cpp
SRCS_MIN+=	MC/MCSectionELF.cpp
SRCS_MIN+=	MC/MCSectionMachO.cpp
SRCS_MIN+=	MC/MCSectionWasm.cpp
SRCS_MIN+=	MC/MCSectionXCOFF.cpp
SRCS_MIN+=	MC/MCStreamer.cpp
SRCS_MIN+=	MC/MCSubtargetInfo.cpp
SRCS_MIN+=	MC/MCSymbol.cpp
SRCS_MIN+=	MC/MCSymbolELF.cpp
SRCS_MIN+=	MC/MCSymbolXCOFF.cpp
SRCS_MIN+=	MC/MCTargetOptions.cpp
SRCS_MIN+=	MC/MCTargetOptionsCommandFlags.cpp
SRCS_MIN+=	MC/MCValue.cpp
SRCS_MIN+=	MC/MCWasmStreamer.cpp
SRCS_MIN+=	MC/MCWin64EH.cpp
SRCS_MIN+=	MC/MCWinCOFFStreamer.cpp
SRCS_MIN+=	MC/MCWinEH.cpp
SRCS_MIN+=	MC/MCXCOFFObjectTargetWriter.cpp
SRCS_MIN+=	MC/MCXCOFFStreamer.cpp
SRCS_MIN+=	MC/MachObjectWriter.cpp
SRCS_MIN+=	MC/SPIRVObjectWriter.cpp
SRCS_MIN+=	MC/StringTableBuilder.cpp
SRCS_MIN+=	MC/TargetRegistry.cpp
SRCS_MIN+=	MC/WasmObjectWriter.cpp
SRCS_MIN+=	MC/WinCOFFObjectWriter.cpp
SRCS_MIN+=	MC/XCOFFObjectWriter.cpp
SRCS_EXT+=	MCA/CodeEmitter.cpp
SRCS_EXT+=	MCA/Context.cpp
SRCS_EXT+=	MCA/CustomBehaviour.cpp
SRCS_EXT+=	MCA/HWEventListener.cpp
SRCS_EXT+=	MCA/HardwareUnits/HardwareUnit.cpp
SRCS_EXT+=	MCA/HardwareUnits/LSUnit.cpp
SRCS_EXT+=	MCA/HardwareUnits/RegisterFile.cpp
SRCS_EXT+=	MCA/HardwareUnits/ResourceManager.cpp
SRCS_EXT+=	MCA/HardwareUnits/RetireControlUnit.cpp
SRCS_EXT+=	MCA/HardwareUnits/Scheduler.cpp
SRCS_EXT+=	MCA/InstrBuilder.cpp
SRCS_EXT+=	MCA/Instruction.cpp
SRCS_EXT+=	MCA/Pipeline.cpp
SRCS_EXT+=	MCA/Stages/DispatchStage.cpp
SRCS_EXT+=	MCA/Stages/EntryStage.cpp
SRCS_EXT+=	MCA/Stages/ExecuteStage.cpp
SRCS_EXT+=	MCA/Stages/InOrderIssueStage.cpp
SRCS_EXT+=	MCA/Stages/InstructionTables.cpp
SRCS_EXT+=	MCA/Stages/MicroOpQueueStage.cpp
SRCS_EXT+=	MCA/Stages/RetireStage.cpp
SRCS_EXT+=	MCA/Stages/Stage.cpp
SRCS_EXT+=	MCA/Support.cpp
SRCS_EXT+=	MCA/View.cpp
SRCS_MIW+=	ObjCopy/Archive.cpp
SRCS_MIW+=	ObjCopy/COFF/COFFObjcopy.cpp
SRCS_MIW+=	ObjCopy/COFF/COFFObject.cpp
SRCS_MIW+=	ObjCopy/COFF/COFFReader.cpp
SRCS_MIW+=	ObjCopy/COFF/COFFWriter.cpp
SRCS_MIW+=	ObjCopy/CommonConfig.cpp
SRCS_MIW+=	ObjCopy/ConfigManager.cpp
SRCS_MIW+=	ObjCopy/ELF/ELFObjcopy.cpp
SRCS_MIW+=	ObjCopy/ELF/ELFObject.cpp
SRCS_MIW+=	ObjCopy/MachO/MachOLayoutBuilder.cpp
SRCS_MIW+=	ObjCopy/MachO/MachOObjcopy.cpp
SRCS_MIW+=	ObjCopy/MachO/MachOObject.cpp
SRCS_MIW+=	ObjCopy/MachO/MachOReader.cpp
SRCS_MIW+=	ObjCopy/MachO/MachOWriter.cpp
SRCS_MIW+=	ObjCopy/ObjCopy.cpp
SRCS_MIW+=	ObjCopy/XCOFF/XCOFFObjcopy.cpp
SRCS_MIW+=	ObjCopy/XCOFF/XCOFFReader.cpp
SRCS_MIW+=	ObjCopy/XCOFF/XCOFFWriter.cpp
SRCS_MIW+=	ObjCopy/wasm/WasmObjcopy.cpp
SRCS_MIW+=	ObjCopy/wasm/WasmObject.cpp
SRCS_MIW+=	ObjCopy/wasm/WasmReader.cpp
SRCS_MIW+=	ObjCopy/wasm/WasmWriter.cpp
SRCS_MIN+=	Object/Archive.cpp
SRCS_MIN+=	Object/ArchiveWriter.cpp
SRCS_MIN+=	Object/Binary.cpp
SRCS_MIN+=	Object/BuildID.cpp
SRCS_MIN+=	Object/COFFImportFile.cpp
SRCS_MIN+=	Object/COFFModuleDefinition.cpp
SRCS_MIN+=	Object/COFFObjectFile.cpp
SRCS_MIN+=	Object/Decompressor.cpp
SRCS_MIN+=	Object/ELF.cpp
SRCS_MIN+=	Object/ELFObjectFile.cpp
SRCS_MIN+=	Object/Error.cpp
SRCS_MIW+=	Object/FaultMapParser.cpp
SRCS_MIN+=	Object/IRObjectFile.cpp
SRCS_MIN+=	Object/IRSymtab.cpp
SRCS_MIN+=	Object/MachOObjectFile.cpp
SRCS_MIN+=	Object/MachOUniversal.cpp
SRCS_MIW+=	Object/MachOUniversalWriter.cpp
SRCS_MIN+=	Object/Minidump.cpp
SRCS_MIN+=	Object/ModuleSymbolTable.cpp
SRCS_EXT+=	Object/Object.cpp
SRCS_MIN+=	Object/ObjectFile.cpp
SRCS_MIN+=	Object/OffloadBinary.cpp
SRCS_MIN+=	Object/RecordStreamer.cpp
SRCS_MIN+=	Object/RelocationResolver.cpp
SRCS_MIW+=	Object/SymbolSize.cpp
SRCS_MIN+=	Object/SymbolicFile.cpp
SRCS_MIN+=	Object/TapiFile.cpp
SRCS_MIN+=	Object/TapiUniversal.cpp
SRCS_MIN+=	Object/WasmObjectFile.cpp
SRCS_MIW+=	Object/WindowsMachineFlag.cpp
SRCS_MIN+=	Object/WindowsResource.cpp
SRCS_MIN+=	Object/XCOFFObjectFile.cpp
SRCS_MIN+=	ObjectYAML/COFFYAML.cpp
SRCS_MIN+=	ObjectYAML/CodeViewYAMLDebugSections.cpp
SRCS_MIN+=	ObjectYAML/CodeViewYAMLSymbols.cpp
SRCS_MIN+=	ObjectYAML/CodeViewYAMLTypeHashing.cpp
SRCS_MIN+=	ObjectYAML/CodeViewYAMLTypes.cpp
SRCS_MIN+=	ObjectYAML/DWARFEmitter.cpp
SRCS_MIN+=	ObjectYAML/DWARFYAML.cpp
SRCS_MIN+=	ObjectYAML/ELFEmitter.cpp
SRCS_MIN+=	ObjectYAML/ELFYAML.cpp
SRCS_MIN+=	ObjectYAML/MachOYAML.cpp
SRCS_MIN+=	ObjectYAML/YAML.cpp
SRCS_MIN+=	Option/Arg.cpp
SRCS_MIN+=	Option/ArgList.cpp
SRCS_MIN+=	Option/OptTable.cpp
SRCS_MIN+=	Option/Option.cpp
SRCS_MIN+=	Passes/OptimizationLevel.cpp
SRCS_MIN+=	Passes/PassBuilder.cpp
SRCS_MIN+=	Passes/PassBuilderPipelines.cpp
SRCS_MIN+=	Passes/PassPlugin.cpp
SRCS_MIN+=	Passes/StandardInstrumentations.cpp
SRCS_MIN+=	ProfileData/Coverage/CoverageMapping.cpp
SRCS_MIN+=	ProfileData/Coverage/CoverageMappingReader.cpp
SRCS_MIN+=	ProfileData/Coverage/CoverageMappingWriter.cpp
SRCS_MIN+=	ProfileData/GCOV.cpp
SRCS_MIN+=	ProfileData/InstrProf.cpp
SRCS_MIN+=	ProfileData/InstrProfCorrelator.cpp
SRCS_MIN+=	ProfileData/InstrProfReader.cpp
SRCS_MIN+=	ProfileData/InstrProfWriter.cpp
SRCS_MIN+=	ProfileData/ItaniumManglingCanonicalizer.cpp
SRCS_MIN+=	ProfileData/MemProf.cpp
SRCS_COV+=	ProfileData/MemProfReader.cpp
SRCS_MIN+=	ProfileData/ProfileSummaryBuilder.cpp
SRCS_MIN+=	ProfileData/SampleProf.cpp
SRCS_MIN+=	ProfileData/SampleProfReader.cpp
SRCS_MIN+=	ProfileData/SampleProfWriter.cpp
SRCS_MIN+=	ProfileData/SymbolRemappingReader.cpp
SRCS_MIN+=	Remarks/BitstreamRemarkParser.cpp
SRCS_MIN+=	Remarks/BitstreamRemarkSerializer.cpp
SRCS_MIN+=	Remarks/RemarkFormat.cpp
SRCS_MIN+=	Remarks/RemarkParser.cpp
SRCS_MIN+=	Remarks/RemarkSerializer.cpp
SRCS_MIN+=	Remarks/RemarkStreamer.cpp
SRCS_MIN+=	Remarks/RemarkStringTable.cpp
SRCS_MIN+=	Remarks/YAMLRemarkParser.cpp
SRCS_MIN+=	Remarks/YAMLRemarkSerializer.cpp
SRCS_MIN+=	Support/ABIBreak.cpp
SRCS_MIN+=	Support/APFixedPoint.cpp
SRCS_MIN+=	Support/APFloat.cpp
SRCS_MIN+=	Support/APInt.cpp
SRCS_MIN+=	Support/APSInt.cpp
SRCS_MIN+=	Support/ARMAttributeParser.cpp
SRCS_MIN+=	Support/ARMBuildAttrs.cpp
SRCS_MIN+=	Support/ARMWinEH.cpp
SRCS_MIN+=	Support/Allocator.cpp
SRCS_MIN+=	Support/BLAKE3/blake3.c
.if ${TARGET_ARCH} == "amd64"
SRCS_MIN+=	Support/BLAKE3/blake3_avx2_x86-64_unix.S
SRCS_MIN+=	Support/BLAKE3/blake3_avx512_x86-64_unix.S
.endif
SRCS_MIN+=	Support/BLAKE3/blake3_dispatch.c
.if ${TARGET_ARCH} == "aarch64"
SRCS_MIN+=	Support/BLAKE3/blake3_neon.c
.endif
SRCS_MIN+=	Support/BLAKE3/blake3_portable.c
.if ${TARGET_ARCH} == "amd64"
SRCS_MIN+=	Support/BLAKE3/blake3_sse2_x86-64_unix.S
SRCS_MIN+=	Support/BLAKE3/blake3_sse41_x86-64_unix.S
.endif
SRCS_COV+=	Support/BalancedPartitioning.cpp
SRCS_MIN+=	Support/BinaryStreamError.cpp
SRCS_MIN+=	Support/BinaryStreamReader.cpp
SRCS_MIN+=	Support/BinaryStreamRef.cpp
SRCS_MIN+=	Support/BinaryStreamWriter.cpp
SRCS_MIN+=	Support/BlockFrequency.cpp
SRCS_MIN+=	Support/BranchProbability.cpp
SRCS_MIN+=	Support/BuryPointer.cpp
SRCS_MIW+=	Support/COM.cpp
SRCS_MIN+=	Support/CRC.cpp
SRCS_MIN+=	Support/CachePruning.cpp
SRCS_MIW+=	Support/Caching.cpp
SRCS_MIN+=	Support/Chrono.cpp
SRCS_MIN+=	Support/CodeGenCoverage.cpp
SRCS_MIN+=	Support/CommandLine.cpp
SRCS_MIN+=	Support/Compression.cpp
SRCS_MIN+=	Support/ConvertUTF.cpp
SRCS_MIN+=	Support/ConvertUTFWrapper.cpp
SRCS_MIN+=	Support/CrashRecoveryContext.cpp
SRCS_MIN+=	Support/DAGDeltaAlgorithm.cpp
SRCS_MIN+=	Support/DJB.cpp
SRCS_MIN+=	Support/DataExtractor.cpp
SRCS_MIN+=	Support/Debug.cpp
SRCS_MIN+=	Support/DebugCounter.cpp
SRCS_MIN+=	Support/DeltaAlgorithm.cpp
SRCS_MIN+=	Support/DivisionByConstantInfo.cpp
SRCS_MIN+=	Support/DynamicLibrary.cpp
SRCS_MIN+=	Support/ELFAttributeParser.cpp
SRCS_MIN+=	Support/ELFAttributes.cpp
SRCS_MIN+=	Support/Errno.cpp
SRCS_MIN+=	Support/Error.cpp
SRCS_MIN+=	Support/ErrorHandling.cpp
SRCS_MIN+=	Support/ExponentialBackoff.cpp
SRCS_MIN+=	Support/ExtensibleRTTI.cpp
SRCS_MIN+=	Support/FileCollector.cpp
SRCS_MIN+=	Support/FileOutputBuffer.cpp
SRCS_MIN+=	Support/FileUtilities.cpp
SRCS_MIN+=	Support/FloatingPointMode.cpp
SRCS_MIN+=	Support/FoldingSet.cpp
SRCS_MIN+=	Support/FormatVariadic.cpp
SRCS_MIN+=	Support/FormattedStream.cpp
SRCS_MIN+=	Support/GlobPattern.cpp
SRCS_MIN+=	Support/GraphWriter.cpp
SRCS_MIN+=	Support/HexagonAttributeParser.cpp
SRCS_MIN+=	Support/HexagonAttributes.cpp
SRCS_MIN+=	Support/InitLLVM.cpp
SRCS_MIN+=	Support/InstructionCost.cpp
SRCS_MIN+=	Support/IntEqClasses.cpp
SRCS_MIN+=	Support/IntervalMap.cpp
SRCS_MIN+=	Support/JSON.cpp
SRCS_MIN+=	Support/KnownBits.cpp
SRCS_MIN+=	Support/LEB128.cpp
SRCS_MIN+=	Support/LineIterator.cpp
SRCS_MIN+=	Support/Locale.cpp
SRCS_MIN+=	Support/LockFileManager.cpp
SRCS_MIN+=	Support/MD5.cpp
SRCS_MIW+=	Support/MSP430AttributeParser.cpp
SRCS_MIW+=	Support/MSP430Attributes.cpp
SRCS_MIN+=	Support/ManagedStatic.cpp
SRCS_MIN+=	Support/MathExtras.cpp
SRCS_MIN+=	Support/MemAlloc.cpp
SRCS_MIN+=	Support/Memory.cpp
SRCS_MIN+=	Support/MemoryBuffer.cpp
SRCS_MIN+=	Support/MemoryBufferRef.cpp
SRCS_MIN+=	Support/NativeFormatting.cpp
SRCS_MIN+=	Support/OptimizedStructLayout.cpp
SRCS_MIN+=	Support/Optional.cpp
SRCS_MIN+=	Support/PGOOptions.cpp
SRCS_EXL+=	Support/Parallel.cpp
SRCS_MIN+=	Support/Path.cpp
SRCS_MIN+=	Support/PluginLoader.cpp
SRCS_MIN+=	Support/PrettyStackTrace.cpp
SRCS_MIN+=	Support/Process.cpp
SRCS_MIN+=	Support/Program.cpp
SRCS_MIN+=	Support/RISCVAttributeParser.cpp
SRCS_MIN+=	Support/RISCVAttributes.cpp
SRCS_MIN+=	Support/RISCVISAUtils.cpp
SRCS_MIN+=	Support/RWMutex.cpp
SRCS_MIN+=	Support/RandomNumberGenerator.cpp
SRCS_MIN+=	Support/Regex.cpp
SRCS_MIN+=	Support/SHA1.cpp
SRCS_MIN+=	Support/SHA256.cpp
SRCS_MIN+=	Support/ScaledNumber.cpp
SRCS_MIN+=	Support/ScopedPrinter.cpp
SRCS_MIN+=	Support/Signals.cpp
SRCS_MIN+=	Support/Signposts.cpp
SRCS_MIN+=	Support/SipHash.cpp
SRCS_MIN+=	Support/SmallPtrSet.cpp
SRCS_MIN+=	Support/SmallVector.cpp
SRCS_MIN+=	Support/SourceMgr.cpp
SRCS_MIN+=	Support/SpecialCaseList.cpp
SRCS_MIN+=	Support/Statistic.cpp
SRCS_MIN+=	Support/StringExtras.cpp
SRCS_MIN+=	Support/StringMap.cpp
SRCS_MIN+=	Support/StringRef.cpp
SRCS_MIN+=	Support/StringSaver.cpp
SRCS_MIN+=	Support/SuffixTree.cpp
SRCS_MIN+=	Support/SuffixTreeNode.cpp
SRCS_EXT+=	Support/SystemUtils.cpp
SRCS_LLD+=	Support/TarWriter.cpp
SRCS_MIN+=	Support/ThreadPool.cpp
SRCS_MIN+=	Support/Threading.cpp
SRCS_MIN+=	Support/TimeProfiler.cpp
SRCS_MIN+=	Support/Timer.cpp
SRCS_MIN+=	Support/ToolOutputFile.cpp
SRCS_MIN+=	Support/Twine.cpp
SRCS_MIN+=	Support/TypeSize.cpp
SRCS_MIN+=	Support/Unicode.cpp
SRCS_MIN+=	Support/UnicodeCaseFold.cpp
SRCS_MIN+=	Support/UnicodeNameToCodepoint.cpp
SRCS_MIN+=	Support/UnicodeNameToCodepointGenerated.cpp
SRCS_MIN+=	Support/Valgrind.cpp
SRCS_MIN+=	Support/VersionTuple.cpp
SRCS_MIN+=	Support/VirtualFileSystem.cpp
SRCS_MIN+=	Support/Watchdog.cpp
SRCS_MIN+=	Support/WithColor.cpp
SRCS_MIN+=	Support/YAMLParser.cpp
SRCS_MIN+=	Support/YAMLTraits.cpp
SRCS_FUL+=	Support/Z3Solver.cpp
SRCS_MIN+=	Support/circular_raw_ostream.cpp
SRCS_MIN+=	Support/raw_os_ostream.cpp
SRCS_MIN+=	Support/raw_ostream.cpp
SRCS_MIN+=	Support/raw_socket_stream.cpp
SRCS_MIN+=	Support/regcomp.c
SRCS_MIN+=	Support/regerror.c
SRCS_MIN+=	Support/regexec.c
SRCS_MIN+=	Support/regfree.c
SRCS_MIN+=	Support/regstrlcpy.c
SRCS_MIN+=	Support/xxhash.cpp
SRCS_MIN+=	TableGen/DetailedRecordsBackend.cpp
SRCS_MIN+=	TableGen/Error.cpp
SRCS_MIN+=	TableGen/JSONBackend.cpp
SRCS_MIN+=	TableGen/Main.cpp
SRCS_MIN+=	TableGen/Record.cpp
SRCS_MIN+=	TableGen/SetTheory.cpp
SRCS_MIN+=	TableGen/StringMatcher.cpp
SRCS_MIN+=	TableGen/TGLexer.cpp
SRCS_MIN+=	TableGen/TGParser.cpp
SRCS_MIN+=	TableGen/TableGenBackend.cpp
.if ${MK_LLVM_TARGET_AARCH64} != "no"
SRCS_MIN+=	Target/AArch64/AArch64A53Fix835769.cpp
SRCS_MIN+=	Target/AArch64/AArch64A57FPLoadBalancing.cpp
SRCS_MIN+=	Target/AArch64/AArch64AdvSIMDScalarPass.cpp
SRCS_MIN+=	Target/AArch64/AArch64Arm64ECCallLowering.cpp
SRCS_MIN+=	Target/AArch64/AArch64AsmPrinter.cpp
SRCS_MIN+=	Target/AArch64/AArch64BranchTargets.cpp
SRCS_MIN+=	Target/AArch64/AArch64CallingConvention.cpp
SRCS_MIN+=	Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
SRCS_MIN+=	Target/AArch64/AArch64CollectLOH.cpp
SRCS_MIN+=	Target/AArch64/AArch64CompressJumpTables.cpp
SRCS_MIN+=	Target/AArch64/AArch64CondBrTuning.cpp
SRCS_MIN+=	Target/AArch64/AArch64ConditionOptimizer.cpp
SRCS_MIN+=	Target/AArch64/AArch64ConditionalCompares.cpp
SRCS_MIN+=	Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
SRCS_MIN+=	Target/AArch64/AArch64ExpandImm.cpp
SRCS_MIN+=	Target/AArch64/AArch64ExpandPseudoInsts.cpp
SRCS_MIN+=	Target/AArch64/AArch64FalkorHWPFFix.cpp
SRCS_MIN+=	Target/AArch64/AArch64FastISel.cpp
SRCS_MIN+=	Target/AArch64/AArch64FrameLowering.cpp
SRCS_MIN+=	Target/AArch64/AArch64GlobalsTagging.cpp
SRCS_MIN+=	Target/AArch64/AArch64ISelDAGToDAG.cpp
SRCS_MIN+=	Target/AArch64/AArch64ISelLowering.cpp
SRCS_MIN+=	Target/AArch64/AArch64InstrInfo.cpp
SRCS_MIN+=	Target/AArch64/AArch64LoadStoreOptimizer.cpp
SRCS_MIN+=	Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
SRCS_MIN+=	Target/AArch64/AArch64MCInstLower.cpp
SRCS_MIN+=	Target/AArch64/AArch64MIPeepholeOpt.cpp
SRCS_MIN+=	Target/AArch64/AArch64MachineFunctionInfo.cpp
SRCS_MIN+=	Target/AArch64/AArch64MachineScheduler.cpp
SRCS_MIN+=	Target/AArch64/AArch64MacroFusion.cpp
SRCS_MIN+=	Target/AArch64/AArch64PBQPRegAlloc.cpp
SRCS_MIN+=	Target/AArch64/AArch64PointerAuth.cpp
SRCS_MIN+=	Target/AArch64/AArch64PostCoalescerPass.cpp
SRCS_MIN+=	Target/AArch64/AArch64PromoteConstant.cpp
SRCS_MIN+=	Target/AArch64/AArch64RedundantCopyElimination.cpp
SRCS_MIN+=	Target/AArch64/AArch64RegisterInfo.cpp
SRCS_MIN+=	Target/AArch64/AArch64SIMDInstrOpt.cpp
SRCS_MIN+=	Target/AArch64/AArch64SLSHardening.cpp
SRCS_MIN+=	Target/AArch64/AArch64SelectionDAGInfo.cpp
SRCS_MIN+=	Target/AArch64/AArch64SpeculationHardening.cpp
SRCS_MIN+=	Target/AArch64/AArch64StackTagging.cpp
SRCS_MIN+=	Target/AArch64/AArch64StackTaggingPreRA.cpp
SRCS_MIN+=	Target/AArch64/AArch64StorePairSuppress.cpp
SRCS_MIN+=	Target/AArch64/AArch64Subtarget.cpp
SRCS_MIN+=	Target/AArch64/AArch64TargetMachine.cpp
SRCS_MIN+=	Target/AArch64/AArch64TargetObjectFile.cpp
SRCS_MIN+=	Target/AArch64/AArch64TargetTransformInfo.cpp
SRCS_MIN+=	Target/AArch64/AsmParser/AArch64AsmParser.cpp
SRCS_XDW+=	Target/AArch64/Disassembler/AArch64Disassembler.cpp
SRCS_XDW+=	Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64CallLowering.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64InstructionSelector.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64LegalizerInfo.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
SRCS_MIN+=	Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
SRCS_MIN+=	Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
SRCS_MIN+=	Target/AArch64/SMEABIPass.cpp
SRCS_MIN+=	Target/AArch64/SVEIntrinsicOpts.cpp
SRCS_MIN+=	Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
SRCS_MIN+=	Target/AArch64/Utils/AArch64BaseInfo.cpp
SRCS_MIN+=	Target/AArch64/Utils/AArch64SMEAttributes.cpp
.endif # MK_LLVM_TARGET_AARCH64
.if ${MK_LLVM_TARGET_ARM} != "no"
SRCS_MIN+=	Target/ARM/A15SDOptimizer.cpp
SRCS_MIN+=	Target/ARM/ARMAsmPrinter.cpp
SRCS_MIN+=	Target/ARM/ARMBaseInstrInfo.cpp
SRCS_MIN+=	Target/ARM/ARMBaseRegisterInfo.cpp
SRCS_MIN+=	Target/ARM/ARMBasicBlockInfo.cpp
SRCS_MIN+=	Target/ARM/ARMBlockPlacement.cpp
SRCS_MIN+=	Target/ARM/ARMBranchTargets.cpp
SRCS_MIN+=	Target/ARM/ARMCallLowering.cpp
SRCS_MIN+=	Target/ARM/ARMCallingConv.cpp
SRCS_MIN+=	Target/ARM/ARMConstantIslandPass.cpp
SRCS_MIN+=	Target/ARM/ARMConstantPoolValue.cpp
SRCS_MIN+=	Target/ARM/ARMExpandPseudoInsts.cpp
SRCS_MIN+=	Target/ARM/ARMFastISel.cpp
SRCS_MIN+=	Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
SRCS_MIN+=	Target/ARM/ARMFrameLowering.cpp
SRCS_MIN+=	Target/ARM/ARMHazardRecognizer.cpp
SRCS_MIN+=	Target/ARM/ARMISelDAGToDAG.cpp
SRCS_MIN+=	Target/ARM/ARMISelLowering.cpp
SRCS_MIN+=	Target/ARM/ARMInstrInfo.cpp
SRCS_MIN+=	Target/ARM/ARMInstructionSelector.cpp
SRCS_MIN+=	Target/ARM/ARMLegalizerInfo.cpp
SRCS_MIN+=	Target/ARM/ARMLoadStoreOptimizer.cpp
SRCS_MIN+=	Target/ARM/ARMLowOverheadLoops.cpp
SRCS_MIN+=	Target/ARM/ARMMCInstLower.cpp
SRCS_MIN+=	Target/ARM/ARMMachineFunctionInfo.cpp
SRCS_MIN+=	Target/ARM/ARMMacroFusion.cpp
SRCS_MIN+=	Target/ARM/ARMOptimizeBarriersPass.cpp
SRCS_MIN+=	Target/ARM/ARMParallelDSP.cpp
SRCS_MIN+=	Target/ARM/ARMRegisterBankInfo.cpp
SRCS_MIN+=	Target/ARM/ARMRegisterInfo.cpp
SRCS_MIN+=	Target/ARM/ARMSLSHardening.cpp
SRCS_MIN+=	Target/ARM/ARMSelectionDAGInfo.cpp
SRCS_MIN+=	Target/ARM/ARMSubtarget.cpp
SRCS_MIN+=	Target/ARM/ARMTargetMachine.cpp
SRCS_MIN+=	Target/ARM/ARMTargetObjectFile.cpp
SRCS_MIN+=	Target/ARM/ARMTargetTransformInfo.cpp
SRCS_MIN+=	Target/ARM/AsmParser/ARMAsmParser.cpp
SRCS_MIN+=	Target/ARM/Disassembler/ARMDisassembler.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMCExpr.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
SRCS_MIN+=	Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
SRCS_MIN+=	Target/ARM/MLxExpansionPass.cpp
SRCS_MIN+=	Target/ARM/MVEGatherScatterLowering.cpp
SRCS_MIN+=	Target/ARM/MVELaneInterleavingPass.cpp
SRCS_MIN+=	Target/ARM/MVETPAndVPTOptimisationsPass.cpp
SRCS_MIN+=	Target/ARM/MVETailPredication.cpp
SRCS_MIN+=	Target/ARM/MVEVPTBlockPass.cpp
SRCS_MIN+=	Target/ARM/TargetInfo/ARMTargetInfo.cpp
SRCS_MIN+=	Target/ARM/Thumb1FrameLowering.cpp
SRCS_MIN+=	Target/ARM/Thumb1InstrInfo.cpp
SRCS_MIN+=	Target/ARM/Thumb2ITBlockPass.cpp
SRCS_MIN+=	Target/ARM/Thumb2InstrInfo.cpp
SRCS_MIN+=	Target/ARM/Thumb2SizeReduction.cpp
SRCS_MIN+=	Target/ARM/ThumbRegisterInfo.cpp
SRCS_MIN+=	Target/ARM/Utils/ARMBaseInfo.cpp
.endif # MK_LLVM_TARGET_ARM
.if ${MK_LLVM_TARGET_BPF} != "no"
SRCS_MIN+=	Target/BPF/AsmParser/BPFAsmParser.cpp
SRCS_MIN+=	Target/BPF/BPFASpaceCastSimplifyPass.cpp
SRCS_MIN+=	Target/BPF/BPFAbstractMemberAccess.cpp
SRCS_MIN+=	Target/BPF/BPFAdjustOpt.cpp
SRCS_MIN+=	Target/BPF/BPFAsmPrinter.cpp
SRCS_MIN+=	Target/BPF/BPFCheckAndAdjustIR.cpp
SRCS_MIN+=	Target/BPF/BPFFrameLowering.cpp
SRCS_MIN+=	Target/BPF/BPFIRPeephole.cpp
SRCS_MIN+=	Target/BPF/BPFISelDAGToDAG.cpp
SRCS_MIN+=	Target/BPF/BPFISelLowering.cpp
SRCS_MIN+=	Target/BPF/BPFInstrInfo.cpp
SRCS_MIN+=	Target/BPF/BPFMCInstLower.cpp
SRCS_MIN+=	Target/BPF/BPFMIChecking.cpp
SRCS_MIN+=	Target/BPF/BPFMIPeephole.cpp
SRCS_MIN+=	Target/BPF/BPFMISimplifyPatchable.cpp
SRCS_MIN+=	Target/BPF/BPFPreserveDIType.cpp
SRCS_MIN+=	Target/BPF/BPFPreserveStaticOffset.cpp
SRCS_MIN+=	Target/BPF/BPFRegisterInfo.cpp
SRCS_MIN+=	Target/BPF/BPFSelectionDAGInfo.cpp
SRCS_MIN+=	Target/BPF/BPFSubtarget.cpp
SRCS_MIN+=	Target/BPF/BPFTargetMachine.cpp
SRCS_MIN+=	Target/BPF/BTFDebug.cpp
SRCS_MIN+=	Target/BPF/Disassembler/BPFDisassembler.cpp
SRCS_MIN+=	Target/BPF/GISel/BPFCallLowering.cpp
SRCS_MIN+=	Target/BPF/GISel/BPFInstructionSelector.cpp
SRCS_MIN+=	Target/BPF/GISel/BPFLegalizerInfo.cpp
SRCS_MIN+=	Target/BPF/GISel/BPFRegisterBankInfo.cpp
SRCS_MIN+=	Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
SRCS_MIN+=	Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
SRCS_MIN+=	Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
SRCS_MIN+=	Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
SRCS_MIN+=	Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
SRCS_MIN+=	Target/BPF/TargetInfo/BPFTargetInfo.cpp
.endif # MK_LLVM_TARGET_BPF
.if ${MK_LLVM_TARGET_MIPS} != "no"
SRCS_MIN+=	Target/Mips/AsmParser/MipsAsmParser.cpp
SRCS_XDW+=	Target/Mips/Disassembler/MipsDisassembler.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsABIInfo.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsMCExpr.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
SRCS_MIN+=	Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
SRCS_MIN+=	Target/Mips/MicroMipsSizeReduction.cpp
SRCS_MIN+=	Target/Mips/Mips16FrameLowering.cpp
SRCS_MIN+=	Target/Mips/Mips16HardFloat.cpp
SRCS_MIN+=	Target/Mips/Mips16HardFloatInfo.cpp
SRCS_MIN+=	Target/Mips/Mips16ISelDAGToDAG.cpp
SRCS_MIN+=	Target/Mips/Mips16ISelLowering.cpp
SRCS_MIN+=	Target/Mips/Mips16InstrInfo.cpp
SRCS_MIN+=	Target/Mips/Mips16RegisterInfo.cpp
SRCS_MIN+=	Target/Mips/MipsAnalyzeImmediate.cpp
SRCS_MIN+=	Target/Mips/MipsAsmPrinter.cpp
SRCS_MIN+=	Target/Mips/MipsBranchExpansion.cpp
SRCS_MIN+=	Target/Mips/MipsCCState.cpp
SRCS_MIN+=	Target/Mips/MipsCallLowering.cpp
SRCS_MIN+=	Target/Mips/MipsConstantIslandPass.cpp
SRCS_MIN+=	Target/Mips/MipsDelaySlotFiller.cpp
SRCS_MIN+=	Target/Mips/MipsExpandPseudo.cpp
SRCS_MIN+=	Target/Mips/MipsFastISel.cpp
SRCS_MIN+=	Target/Mips/MipsFrameLowering.cpp
SRCS_MIN+=	Target/Mips/MipsISelDAGToDAG.cpp
SRCS_MIN+=	Target/Mips/MipsISelLowering.cpp
SRCS_MIN+=	Target/Mips/MipsInstrInfo.cpp
SRCS_MIN+=	Target/Mips/MipsInstructionSelector.cpp
SRCS_MIN+=	Target/Mips/MipsLegalizerInfo.cpp
SRCS_MIN+=	Target/Mips/MipsMCInstLower.cpp
SRCS_MIN+=	Target/Mips/MipsMachineFunction.cpp
SRCS_MIN+=	Target/Mips/MipsModuleISelDAGToDAG.cpp
SRCS_MIN+=	Target/Mips/MipsMulMulBugPass.cpp
SRCS_MIN+=	Target/Mips/MipsOptimizePICCall.cpp
SRCS_MIN+=	Target/Mips/MipsOs16.cpp
SRCS_MIN+=	Target/Mips/MipsPostLegalizerCombiner.cpp
SRCS_MIN+=	Target/Mips/MipsPreLegalizerCombiner.cpp
SRCS_MIN+=	Target/Mips/MipsRegisterBankInfo.cpp
SRCS_MIN+=	Target/Mips/MipsRegisterInfo.cpp
SRCS_MIN+=	Target/Mips/MipsSEFrameLowering.cpp
SRCS_MIN+=	Target/Mips/MipsSEISelDAGToDAG.cpp
SRCS_MIN+=	Target/Mips/MipsSEISelLowering.cpp
SRCS_MIN+=	Target/Mips/MipsSEInstrInfo.cpp
SRCS_MIN+=	Target/Mips/MipsSERegisterInfo.cpp
SRCS_MIN+=	Target/Mips/MipsSubtarget.cpp
SRCS_MIN+=	Target/Mips/MipsTargetMachine.cpp
SRCS_MIN+=	Target/Mips/MipsTargetObjectFile.cpp
SRCS_MIN+=	Target/Mips/MipsTargetTransformInfo.cpp
SRCS_MIN+=	Target/Mips/TargetInfo/MipsTargetInfo.cpp
.endif # MK_LLVM_TARGET_MIPS
.if ${MK_LLVM_TARGET_POWERPC} != "no"
SRCS_MIN+=	Target/PowerPC/AsmParser/PPCAsmParser.cpp
SRCS_MIN+=	Target/PowerPC/Disassembler/PPCDisassembler.cpp
SRCS_MIN+=	Target/PowerPC/GISel/PPCCallLowering.cpp
SRCS_MIN+=	Target/PowerPC/GISel/PPCInstructionSelector.cpp
SRCS_MIN+=	Target/PowerPC/GISel/PPCLegalizerInfo.cpp
SRCS_MIN+=	Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCPredicates.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
SRCS_MIN+=	Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
SRCS_MIN+=	Target/PowerPC/PPCAsmPrinter.cpp
SRCS_MIN+=	Target/PowerPC/PPCBoolRetToInt.cpp
SRCS_MIN+=	Target/PowerPC/PPCBranchCoalescing.cpp
SRCS_MIN+=	Target/PowerPC/PPCBranchSelector.cpp
SRCS_MIN+=	Target/PowerPC/PPCCCState.cpp
SRCS_MIN+=	Target/PowerPC/PPCCTRLoops.cpp
SRCS_MIN+=	Target/PowerPC/PPCCTRLoopsVerify.cpp
SRCS_MIN+=	Target/PowerPC/PPCCallingConv.cpp
SRCS_MIN+=	Target/PowerPC/PPCEarlyReturn.cpp
SRCS_MIN+=	Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
SRCS_MIN+=	Target/PowerPC/PPCExpandISEL.cpp
SRCS_MIN+=	Target/PowerPC/PPCFastISel.cpp
SRCS_MIN+=	Target/PowerPC/PPCFrameLowering.cpp
SRCS_MIN+=	Target/PowerPC/PPCGenScalarMASSEntries.cpp
SRCS_MIN+=	Target/PowerPC/PPCHazardRecognizers.cpp
SRCS_MIN+=	Target/PowerPC/PPCISelDAGToDAG.cpp
SRCS_MIN+=	Target/PowerPC/PPCISelLowering.cpp
SRCS_MIN+=	Target/PowerPC/PPCInstrInfo.cpp
SRCS_MIN+=	Target/PowerPC/PPCLoopInstrFormPrep.cpp
SRCS_MIN+=	Target/PowerPC/PPCLowerMASSVEntries.cpp
SRCS_MIN+=	Target/PowerPC/PPCMCInstLower.cpp
SRCS_MIN+=	Target/PowerPC/PPCMIPeephole.cpp
SRCS_MIN+=	Target/PowerPC/PPCMachineFunctionInfo.cpp
SRCS_MIN+=	Target/PowerPC/PPCMachineScheduler.cpp
SRCS_MIN+=	Target/PowerPC/PPCMacroFusion.cpp
SRCS_MIN+=	Target/PowerPC/PPCMergeStringPool.cpp
SRCS_MIN+=	Target/PowerPC/PPCPreEmitPeephole.cpp
SRCS_MIN+=	Target/PowerPC/PPCReduceCRLogicals.cpp
SRCS_MIN+=	Target/PowerPC/PPCRegisterInfo.cpp
SRCS_MIN+=	Target/PowerPC/PPCSubtarget.cpp
SRCS_MIN+=	Target/PowerPC/PPCTLSDynamicCall.cpp
SRCS_MIN+=	Target/PowerPC/PPCTOCRegDeps.cpp
SRCS_MIN+=	Target/PowerPC/PPCTargetMachine.cpp
SRCS_MIN+=	Target/PowerPC/PPCTargetObjectFile.cpp
SRCS_MIN+=	Target/PowerPC/PPCTargetTransformInfo.cpp
SRCS_MIN+=	Target/PowerPC/PPCVSXCopy.cpp
SRCS_MIN+=	Target/PowerPC/PPCVSXFMAMutate.cpp
SRCS_MIN+=	Target/PowerPC/PPCVSXSwapRemoval.cpp
SRCS_MIN+=	Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
.endif # MK_LLVM_TARGET_POWERPC
.if ${MK_LLVM_TARGET_RISCV} != "no"
SRCS_MIN+=	Target/RISCV/AsmParser/RISCVAsmParser.cpp
SRCS_MIN+=	Target/RISCV/Disassembler/RISCVDisassembler.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVCallLowering.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVInstructionSelector.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVLegalizerInfo.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
SRCS_MIN+=	Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
SRCS_EXT+=	Target/RISCV/MCA/RISCVCustomBehaviour.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMCObjectFileInfo.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
SRCS_MIN+=	Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
SRCS_MIN+=	Target/RISCV/RISCVAsmPrinter.cpp
SRCS_MIN+=	Target/RISCV/RISCVCodeGenPrepare.cpp
SRCS_MIN+=	Target/RISCV/RISCVDeadRegisterDefinitions.cpp
SRCS_MIN+=	Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
SRCS_MIN+=	Target/RISCV/RISCVExpandPseudoInsts.cpp
SRCS_MIN+=	Target/RISCV/RISCVFrameLowering.cpp
SRCS_MIN+=	Target/RISCV/RISCVGatherScatterLowering.cpp
SRCS_MIN+=	Target/RISCV/RISCVISelDAGToDAG.cpp
SRCS_MIN+=	Target/RISCV/RISCVISelLowering.cpp
SRCS_MIN+=	Target/RISCV/RISCVInsertReadWriteCSR.cpp
SRCS_MIN+=	Target/RISCV/RISCVInsertVSETVLI.cpp
SRCS_MIN+=	Target/RISCV/RISCVInsertWriteVXRM.cpp
SRCS_MIN+=	Target/RISCV/RISCVInstrInfo.cpp
SRCS_MIN+=	Target/RISCV/RISCVMachineFunctionInfo.cpp
SRCS_MIN+=	Target/RISCV/RISCVMakeCompressible.cpp
SRCS_MIN+=	Target/RISCV/RISCVMergeBaseOffset.cpp
SRCS_MIN+=	Target/RISCV/RISCVMoveMerger.cpp
SRCS_MIN+=	Target/RISCV/RISCVOptWInstrs.cpp
SRCS_MIN+=	Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
SRCS_MIN+=	Target/RISCV/RISCVPushPopOptimizer.cpp
SRCS_MIN+=	Target/RISCV/RISCVRedundantCopyElimination.cpp
SRCS_MIN+=	Target/RISCV/RISCVRegisterInfo.cpp
SRCS_MIN+=	Target/RISCV/RISCVSubtarget.cpp
SRCS_MIN+=	Target/RISCV/RISCVTargetMachine.cpp
SRCS_MIN+=	Target/RISCV/RISCVTargetObjectFile.cpp
SRCS_MIN+=	Target/RISCV/RISCVTargetTransformInfo.cpp
SRCS_MIN+=	Target/RISCV/RISCVVectorPeephole.cpp
SRCS_MIN+=	Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
.endif # MK_LLVM_TARGET_RISCV
SRCS_MIN+=	Target/Target.cpp
SRCS_MIN+=	Target/TargetLoweringObjectFile.cpp
SRCS_MIN+=	Target/TargetMachine.cpp
SRCS_MIN+=	Target/TargetMachineC.cpp
.if ${MK_LLVM_TARGET_X86} != "no"
SRCS_MIN+=	Target/X86/AsmParser/X86AsmParser.cpp
SRCS_XDW+=	Target/X86/Disassembler/X86Disassembler.cpp
SRCS_MIN+=	Target/X86/GISel/X86CallLowering.cpp
SRCS_MIN+=	Target/X86/GISel/X86InstructionSelector.cpp
SRCS_MIN+=	Target/X86/GISel/X86LegalizerInfo.cpp
SRCS_MIN+=	Target/X86/GISel/X86RegisterBankInfo.cpp
SRCS_EXT+=	Target/X86/MCA/X86CustomBehaviour.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86AsmBackend.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86InstComments.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86MnemonicTables.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86ShuffleDecode.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
SRCS_MIN+=	Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
SRCS_MIN+=	Target/X86/TargetInfo/X86TargetInfo.cpp
SRCS_MIN+=	Target/X86/X86ArgumentStackSlotRebase.cpp
SRCS_MIN+=	Target/X86/X86AsmPrinter.cpp
SRCS_MIN+=	Target/X86/X86AvoidStoreForwardingBlocks.cpp
SRCS_MIN+=	Target/X86/X86AvoidTrailingCall.cpp
SRCS_MIN+=	Target/X86/X86CallFrameOptimization.cpp
SRCS_MIN+=	Target/X86/X86CallingConv.cpp
SRCS_MIN+=	Target/X86/X86CmovConversion.cpp
SRCS_MIN+=	Target/X86/X86CodeGenPassBuilder.cpp
SRCS_MIN+=	Target/X86/X86CompressEVEX.cpp
SRCS_MIN+=	Target/X86/X86DiscriminateMemOps.cpp
SRCS_MIN+=	Target/X86/X86DomainReassignment.cpp
SRCS_MIN+=	Target/X86/X86DynAllocaExpander.cpp
SRCS_MIN+=	Target/X86/X86ExpandPseudo.cpp
SRCS_MIN+=	Target/X86/X86FastISel.cpp
SRCS_MIN+=	Target/X86/X86FastPreTileConfig.cpp
SRCS_MIN+=	Target/X86/X86FastTileConfig.cpp
SRCS_MIN+=	Target/X86/X86FixupBWInsts.cpp
SRCS_MIN+=	Target/X86/X86FixupInstTuning.cpp
SRCS_MIN+=	Target/X86/X86FixupLEAs.cpp
SRCS_MIN+=	Target/X86/X86FixupSetCC.cpp
SRCS_MIN+=	Target/X86/X86FixupVectorConstants.cpp
SRCS_MIN+=	Target/X86/X86FlagsCopyLowering.cpp
SRCS_MIN+=	Target/X86/X86FloatingPoint.cpp
SRCS_MIN+=	Target/X86/X86FrameLowering.cpp
SRCS_MIN+=	Target/X86/X86ISelDAGToDAG.cpp
SRCS_MIN+=	Target/X86/X86ISelLowering.cpp
SRCS_MIN+=	Target/X86/X86ISelLoweringCall.cpp
SRCS_MIN+=	Target/X86/X86IndirectBranchTracking.cpp
SRCS_MIN+=	Target/X86/X86IndirectThunks.cpp
SRCS_MIN+=	Target/X86/X86InsertPrefetch.cpp
SRCS_MIN+=	Target/X86/X86InsertWait.cpp
SRCS_MIN+=	Target/X86/X86InstCombineIntrinsic.cpp
SRCS_MIN+=	Target/X86/X86InstrFMA3Info.cpp
SRCS_MIN+=	Target/X86/X86InstrFoldTables.cpp
SRCS_MIN+=	Target/X86/X86InstrInfo.cpp
SRCS_MIN+=	Target/X86/X86InterleavedAccess.cpp
SRCS_MIN+=	Target/X86/X86LoadValueInjectionLoadHardening.cpp
SRCS_MIN+=	Target/X86/X86LoadValueInjectionRetHardening.cpp
SRCS_MIN+=	Target/X86/X86LowerAMXIntrinsics.cpp
SRCS_MIN+=	Target/X86/X86LowerAMXType.cpp
SRCS_MIN+=	Target/X86/X86LowerTileCopy.cpp
SRCS_MIN+=	Target/X86/X86MCInstLower.cpp
SRCS_MIN+=	Target/X86/X86MachineFunctionInfo.cpp
SRCS_MIN+=	Target/X86/X86MacroFusion.cpp
SRCS_MIN+=	Target/X86/X86OptimizeLEAs.cpp
SRCS_MIN+=	Target/X86/X86PadShortFunction.cpp
SRCS_MIN+=	Target/X86/X86PartialReduction.cpp
SRCS_MIN+=	Target/X86/X86PreTileConfig.cpp
SRCS_MIN+=	Target/X86/X86RegisterInfo.cpp
SRCS_MIN+=	Target/X86/X86ReturnThunks.cpp
SRCS_MIN+=	Target/X86/X86SelectionDAGInfo.cpp
SRCS_MIN+=	Target/X86/X86ShuffleDecodeConstantPool.cpp
SRCS_MIN+=	Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
SRCS_MIN+=	Target/X86/X86SpeculativeLoadHardening.cpp
SRCS_MIN+=	Target/X86/X86Subtarget.cpp
SRCS_MIN+=	Target/X86/X86TargetMachine.cpp
SRCS_MIN+=	Target/X86/X86TargetObjectFile.cpp
SRCS_MIN+=	Target/X86/X86TargetTransformInfo.cpp
SRCS_MIN+=	Target/X86/X86TileConfig.cpp
SRCS_MIN+=	Target/X86/X86VZeroUpper.cpp
SRCS_MIN+=	Target/X86/X86WinEHState.cpp
SRCS_MIN+=	Target/X86/X86WinFixupBufferSecurityCheck.cpp
.endif # MK_LLVM_TARGET_X86
SRCS_MIN+=	TargetParser/AArch64TargetParser.cpp
SRCS_MIN+=	TargetParser/ARMTargetParser.cpp
SRCS_MIN+=	TargetParser/ARMTargetParserCommon.cpp
SRCS_MIN+=	TargetParser/CSKYTargetParser.cpp
SRCS_MIN+=	TargetParser/Host.cpp
SRCS_MIN+=	TargetParser/LoongArchTargetParser.cpp
SRCS_MIN+=	TargetParser/RISCVISAInfo.cpp
SRCS_MIN+=	TargetParser/RISCVTargetParser.cpp
SRCS_MIN+=	TargetParser/SubtargetFeature.cpp
SRCS_MIN+=	TargetParser/TargetParser.cpp
SRCS_MIN+=	TargetParser/Triple.cpp
SRCS_MIN+=	TargetParser/X86TargetParser.cpp
SRCS_MIN+=	TextAPI/Architecture.cpp
SRCS_MIN+=	TextAPI/ArchitectureSet.cpp
SRCS_MIW+=	TextAPI/BinaryReader/DylibReader.cpp
SRCS_MIN+=	TextAPI/InterfaceFile.cpp
SRCS_MIN+=	TextAPI/PackedVersion.cpp
SRCS_MIN+=	TextAPI/Platform.cpp
SRCS_MIW+=	TextAPI/RecordVisitor.cpp
SRCS_MIW+=	TextAPI/RecordsSlice.cpp
SRCS_MIN+=	TextAPI/Symbol.cpp
SRCS_MIN+=	TextAPI/SymbolSet.cpp
SRCS_MIN+=	TextAPI/Target.cpp
SRCS_MIN+=	TextAPI/TextAPIError.cpp
SRCS_MIN+=	TextAPI/TextStub.cpp
SRCS_MIN+=	TextAPI/TextStubCommon.cpp
SRCS_MIN+=	TextAPI/TextStubV5.cpp
SRCS_MIN+=	TextAPI/Utils.cpp
SRCS_MIN+=	ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
SRCS_MIW+=	ToolDrivers/llvm-lib/LibDriver.cpp
SRCS_MIN+=	Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
SRCS_MIN+=	Transforms/AggressiveInstCombine/TruncInstCombine.cpp
SRCS_MIN+=	Transforms/CFGuard/CFGuard.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroCleanup.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroConditionalWrapper.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroEarly.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroElide.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroFrame.cpp
SRCS_MIN+=	Transforms/Coroutines/CoroSplit.cpp
SRCS_MIN+=	Transforms/Coroutines/Coroutines.cpp
SRCS_MIN+=	Transforms/HipStdPar/HipStdPar.cpp
SRCS_MIN+=	Transforms/IPO/AlwaysInliner.cpp
SRCS_MIN+=	Transforms/IPO/Annotation2Metadata.cpp
SRCS_MIN+=	Transforms/IPO/ArgumentPromotion.cpp
SRCS_MIN+=	Transforms/IPO/Attributor.cpp
SRCS_MIN+=	Transforms/IPO/AttributorAttributes.cpp
SRCS_MIN+=	Transforms/IPO/BarrierNoopPass.cpp
SRCS_MIN+=	Transforms/IPO/BlockExtractor.cpp
SRCS_MIN+=	Transforms/IPO/CalledValuePropagation.cpp
SRCS_MIN+=	Transforms/IPO/ConstantMerge.cpp
SRCS_MIN+=	Transforms/IPO/CrossDSOCFI.cpp
SRCS_MIN+=	Transforms/IPO/DeadArgumentElimination.cpp
SRCS_MIN+=	Transforms/IPO/ElimAvailExtern.cpp
SRCS_MIN+=	Transforms/IPO/EmbedBitcodePass.cpp
SRCS_MIN+=	Transforms/IPO/ExpandVariadics.cpp
SRCS_MIN+=	Transforms/IPO/ExtractGV.cpp
SRCS_MIN+=	Transforms/IPO/ForceFunctionAttrs.cpp
SRCS_MIN+=	Transforms/IPO/FunctionAttrs.cpp
SRCS_MIN+=	Transforms/IPO/FunctionImport.cpp
SRCS_MIN+=	Transforms/IPO/FunctionSpecialization.cpp
SRCS_MIN+=	Transforms/IPO/GlobalDCE.cpp
SRCS_MIN+=	Transforms/IPO/GlobalOpt.cpp
SRCS_MIN+=	Transforms/IPO/GlobalSplit.cpp
SRCS_MIN+=	Transforms/IPO/HotColdSplitting.cpp
SRCS_EXT+=	Transforms/IPO/IPO.cpp
SRCS_MIN+=	Transforms/IPO/IROutliner.cpp
SRCS_MIN+=	Transforms/IPO/InferFunctionAttrs.cpp
SRCS_MIN+=	Transforms/IPO/Inliner.cpp
SRCS_MIN+=	Transforms/IPO/Internalize.cpp
SRCS_MIN+=	Transforms/IPO/LoopExtractor.cpp
SRCS_MIN+=	Transforms/IPO/LowerTypeTests.cpp
SRCS_MIN+=	Transforms/IPO/MemProfContextDisambiguation.cpp
SRCS_MIN+=	Transforms/IPO/MergeFunctions.cpp
SRCS_MIN+=	Transforms/IPO/ModuleInliner.cpp
SRCS_MIN+=	Transforms/IPO/OpenMPOpt.cpp
SRCS_MIN+=	Transforms/IPO/PartialInlining.cpp
SRCS_MIN+=	Transforms/IPO/SCCP.cpp
SRCS_MIN+=	Transforms/IPO/SampleContextTracker.cpp
SRCS_MIN+=	Transforms/IPO/SampleProfile.cpp
SRCS_MIN+=	Transforms/IPO/SampleProfileMatcher.cpp
SRCS_MIN+=	Transforms/IPO/SampleProfileProbe.cpp
SRCS_MIN+=	Transforms/IPO/StripDeadPrototypes.cpp
SRCS_MIN+=	Transforms/IPO/StripSymbols.cpp
SRCS_MIN+=	Transforms/IPO/SyntheticCountsPropagation.cpp
SRCS_MIN+=	Transforms/IPO/ThinLTOBitcodeWriter.cpp
SRCS_MIN+=	Transforms/IPO/WholeProgramDevirt.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineAddSub.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineAndOrXor.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineAtomicRMW.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineCalls.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineCasts.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineCompares.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineMulDivRem.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineNegator.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombinePHI.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineSelect.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineShifts.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
SRCS_MIN+=	Transforms/InstCombine/InstCombineVectorOps.cpp
SRCS_MIN+=	Transforms/InstCombine/InstructionCombining.cpp
SRCS_MIN+=	Transforms/Instrumentation/AddressSanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/BlockCoverageInference.cpp
SRCS_MIN+=	Transforms/Instrumentation/BoundsChecking.cpp
SRCS_MIN+=	Transforms/Instrumentation/CGProfile.cpp
SRCS_MIN+=	Transforms/Instrumentation/ControlHeightReduction.cpp
SRCS_MIN+=	Transforms/Instrumentation/DataFlowSanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/GCOVProfiling.cpp
SRCS_MIN+=	Transforms/Instrumentation/HWAddressSanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/IndirectCallPromotion.cpp
SRCS_MIN+=	Transforms/Instrumentation/InstrOrderFile.cpp
SRCS_MIN+=	Transforms/Instrumentation/InstrProfiling.cpp
SRCS_MIN+=	Transforms/Instrumentation/Instrumentation.cpp
SRCS_MIN+=	Transforms/Instrumentation/KCFI.cpp
SRCS_MIN+=	Transforms/Instrumentation/LowerAllowCheckPass.cpp
SRCS_MIN+=	Transforms/Instrumentation/MemProfiler.cpp
SRCS_MIN+=	Transforms/Instrumentation/MemorySanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/PGOCtxProfLowering.cpp
SRCS_MIN+=	Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
SRCS_MIN+=	Transforms/Instrumentation/PGOInstrumentation.cpp
SRCS_MIN+=	Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
SRCS_MIN+=	Transforms/Instrumentation/PoisonChecking.cpp
SRCS_MIN+=	Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
SRCS_MIN+=	Transforms/Instrumentation/SanitizerCoverage.cpp
SRCS_MIN+=	Transforms/Instrumentation/ThreadSanitizer.cpp
SRCS_MIN+=	Transforms/Instrumentation/ValueProfileCollector.cpp
SRCS_MIN+=	Transforms/ObjCARC/DependencyAnalysis.cpp
SRCS_MIN+=	Transforms/ObjCARC/ObjCARC.cpp
SRCS_MIN+=	Transforms/ObjCARC/ObjCARCAPElim.cpp
SRCS_MIN+=	Transforms/ObjCARC/ObjCARCContract.cpp
SRCS_MIN+=	Transforms/ObjCARC/ObjCARCExpand.cpp
SRCS_MIN+=	Transforms/ObjCARC/ObjCARCOpts.cpp
SRCS_MIN+=	Transforms/ObjCARC/ProvenanceAnalysis.cpp
SRCS_MIN+=	Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
SRCS_MIN+=	Transforms/ObjCARC/PtrState.cpp
SRCS_MIN+=	Transforms/Scalar/ADCE.cpp
SRCS_MIN+=	Transforms/Scalar/AlignmentFromAssumptions.cpp
SRCS_MIN+=	Transforms/Scalar/AnnotationRemarks.cpp
SRCS_MIN+=	Transforms/Scalar/BDCE.cpp
SRCS_MIN+=	Transforms/Scalar/CallSiteSplitting.cpp
SRCS_MIN+=	Transforms/Scalar/ConstantHoisting.cpp
SRCS_MIN+=	Transforms/Scalar/ConstraintElimination.cpp
SRCS_MIN+=	Transforms/Scalar/CorrelatedValuePropagation.cpp
SRCS_MIN+=	Transforms/Scalar/DCE.cpp
SRCS_MIN+=	Transforms/Scalar/DFAJumpThreading.cpp
SRCS_MIN+=	Transforms/Scalar/DeadStoreElimination.cpp
SRCS_MIN+=	Transforms/Scalar/DivRemPairs.cpp
SRCS_MIN+=	Transforms/Scalar/EarlyCSE.cpp
SRCS_MIN+=	Transforms/Scalar/FlattenCFGPass.cpp
SRCS_MIN+=	Transforms/Scalar/Float2Int.cpp
SRCS_MIN+=	Transforms/Scalar/GVN.cpp
SRCS_MIN+=	Transforms/Scalar/GVNHoist.cpp
SRCS_MIN+=	Transforms/Scalar/GVNSink.cpp
SRCS_MIN+=	Transforms/Scalar/GuardWidening.cpp
SRCS_MIN+=	Transforms/Scalar/IVUsersPrinter.cpp
SRCS_MIN+=	Transforms/Scalar/IndVarSimplify.cpp
SRCS_MIN+=	Transforms/Scalar/InductiveRangeCheckElimination.cpp
SRCS_MIN+=	Transforms/Scalar/InferAddressSpaces.cpp
SRCS_MIN+=	Transforms/Scalar/InferAlignment.cpp
SRCS_MIN+=	Transforms/Scalar/InstSimplifyPass.cpp
SRCS_MIN+=	Transforms/Scalar/JumpTableToSwitch.cpp
SRCS_MIN+=	Transforms/Scalar/JumpThreading.cpp
SRCS_MIN+=	Transforms/Scalar/LICM.cpp
SRCS_MIN+=	Transforms/Scalar/LoopAccessAnalysisPrinter.cpp
SRCS_MIN+=	Transforms/Scalar/LoopBoundSplit.cpp
SRCS_MIN+=	Transforms/Scalar/LoopDataPrefetch.cpp
SRCS_MIN+=	Transforms/Scalar/LoopDeletion.cpp
SRCS_MIN+=	Transforms/Scalar/LoopDistribute.cpp
SRCS_MIN+=	Transforms/Scalar/LoopFlatten.cpp
SRCS_MIN+=	Transforms/Scalar/LoopFuse.cpp
SRCS_MIN+=	Transforms/Scalar/LoopIdiomRecognize.cpp
SRCS_MIN+=	Transforms/Scalar/LoopInstSimplify.cpp
SRCS_MIN+=	Transforms/Scalar/LoopInterchange.cpp
SRCS_MIN+=	Transforms/Scalar/LoopLoadElimination.cpp
SRCS_MIN+=	Transforms/Scalar/LoopPassManager.cpp
SRCS_MIN+=	Transforms/Scalar/LoopPredication.cpp
SRCS_MIN+=	Transforms/Scalar/LoopRotation.cpp
SRCS_MIN+=	Transforms/Scalar/LoopSimplifyCFG.cpp
SRCS_MIN+=	Transforms/Scalar/LoopSink.cpp
SRCS_MIN+=	Transforms/Scalar/LoopStrengthReduce.cpp
SRCS_MIN+=	Transforms/Scalar/LoopUnrollAndJamPass.cpp
SRCS_MIN+=	Transforms/Scalar/LoopUnrollPass.cpp
SRCS_MIN+=	Transforms/Scalar/LoopVersioningLICM.cpp
SRCS_MIN+=	Transforms/Scalar/LowerAtomicPass.cpp
SRCS_MIN+=	Transforms/Scalar/LowerConstantIntrinsics.cpp
SRCS_MIN+=	Transforms/Scalar/LowerExpectIntrinsic.cpp
SRCS_MIN+=	Transforms/Scalar/LowerGuardIntrinsic.cpp
SRCS_MIN+=	Transforms/Scalar/LowerMatrixIntrinsics.cpp
SRCS_MIN+=	Transforms/Scalar/LowerWidenableCondition.cpp
SRCS_MIN+=	Transforms/Scalar/MakeGuardsExplicit.cpp
SRCS_MIN+=	Transforms/Scalar/MemCpyOptimizer.cpp
SRCS_MIN+=	Transforms/Scalar/MergeICmps.cpp
SRCS_MIN+=	Transforms/Scalar/MergedLoadStoreMotion.cpp
SRCS_MIN+=	Transforms/Scalar/NaryReassociate.cpp
SRCS_MIN+=	Transforms/Scalar/NewGVN.cpp
SRCS_MIN+=	Transforms/Scalar/PartiallyInlineLibCalls.cpp
SRCS_MIN+=	Transforms/Scalar/PlaceSafepoints.cpp
SRCS_MIN+=	Transforms/Scalar/Reassociate.cpp
SRCS_MIN+=	Transforms/Scalar/Reg2Mem.cpp
SRCS_MIN+=	Transforms/Scalar/RewriteStatepointsForGC.cpp
SRCS_MIN+=	Transforms/Scalar/SCCP.cpp
SRCS_MIN+=	Transforms/Scalar/SROA.cpp
SRCS_EXT+=	Transforms/Scalar/Scalar.cpp
SRCS_MIN+=	Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
SRCS_MIN+=	Transforms/Scalar/Scalarizer.cpp
SRCS_MIN+=	Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
SRCS_MIN+=	Transforms/Scalar/SimpleLoopUnswitch.cpp
SRCS_MIN+=	Transforms/Scalar/SimplifyCFGPass.cpp
SRCS_MIN+=	Transforms/Scalar/Sink.cpp
SRCS_MIN+=	Transforms/Scalar/SpeculativeExecution.cpp
SRCS_MIN+=	Transforms/Scalar/StraightLineStrengthReduce.cpp
SRCS_MIN+=	Transforms/Scalar/StructurizeCFG.cpp
SRCS_MIN+=	Transforms/Scalar/TLSVariableHoist.cpp
SRCS_MIN+=	Transforms/Scalar/TailRecursionElimination.cpp
SRCS_MIN+=	Transforms/Scalar/WarnMissedTransforms.cpp
SRCS_MIN+=	Transforms/Utils/AMDGPUEmitPrintf.cpp
SRCS_MIN+=	Transforms/Utils/ASanStackFrameLayout.cpp
SRCS_MIN+=	Transforms/Utils/AddDiscriminators.cpp
SRCS_MIN+=	Transforms/Utils/AssumeBundleBuilder.cpp
SRCS_MIN+=	Transforms/Utils/BasicBlockUtils.cpp
SRCS_MIN+=	Transforms/Utils/BreakCriticalEdges.cpp
SRCS_MIN+=	Transforms/Utils/BuildLibCalls.cpp
SRCS_MIN+=	Transforms/Utils/BypassSlowDivision.cpp
SRCS_MIN+=	Transforms/Utils/CallGraphUpdater.cpp
SRCS_MIN+=	Transforms/Utils/CallPromotionUtils.cpp
SRCS_MIN+=	Transforms/Utils/CanonicalizeAliases.cpp
SRCS_MIN+=	Transforms/Utils/CanonicalizeFreezeInLoops.cpp
SRCS_MIN+=	Transforms/Utils/CloneFunction.cpp
SRCS_MIN+=	Transforms/Utils/CloneModule.cpp
SRCS_MIN+=	Transforms/Utils/CodeExtractor.cpp
SRCS_MIN+=	Transforms/Utils/CodeLayout.cpp
SRCS_MIN+=	Transforms/Utils/CodeMoverUtils.cpp
SRCS_MIN+=	Transforms/Utils/CountVisits.cpp
SRCS_MIN+=	Transforms/Utils/CtorUtils.cpp
SRCS_MIN+=	Transforms/Utils/DXILUpgrade.cpp
SRCS_MIN+=	Transforms/Utils/Debugify.cpp
SRCS_MIN+=	Transforms/Utils/DemoteRegToStack.cpp
SRCS_MIN+=	Transforms/Utils/EntryExitInstrumenter.cpp
SRCS_MIN+=	Transforms/Utils/EscapeEnumerator.cpp
SRCS_MIN+=	Transforms/Utils/Evaluator.cpp
SRCS_MIN+=	Transforms/Utils/FixIrreducible.cpp
SRCS_MIN+=	Transforms/Utils/FlattenCFG.cpp
SRCS_MIN+=	Transforms/Utils/FunctionComparator.cpp
SRCS_MIN+=	Transforms/Utils/FunctionImportUtils.cpp
SRCS_MIN+=	Transforms/Utils/GlobalStatus.cpp
SRCS_MIN+=	Transforms/Utils/GuardUtils.cpp
SRCS_MIN+=	Transforms/Utils/HelloWorld.cpp
SRCS_MIN+=	Transforms/Utils/InjectTLIMappings.cpp
SRCS_MIN+=	Transforms/Utils/InlineFunction.cpp
SRCS_MIN+=	Transforms/Utils/InstructionNamer.cpp
SRCS_MIN+=	Transforms/Utils/IntegerDivision.cpp
SRCS_MIN+=	Transforms/Utils/LCSSA.cpp
SRCS_MIN+=	Transforms/Utils/LibCallsShrinkWrap.cpp
SRCS_MIN+=	Transforms/Utils/Local.cpp
SRCS_MIN+=	Transforms/Utils/LoopConstrainer.cpp
SRCS_MIN+=	Transforms/Utils/LoopPeel.cpp
SRCS_MIN+=	Transforms/Utils/LoopRotationUtils.cpp
SRCS_MIN+=	Transforms/Utils/LoopSimplify.cpp
SRCS_MIN+=	Transforms/Utils/LoopUnroll.cpp
SRCS_MIN+=	Transforms/Utils/LoopUnrollAndJam.cpp
SRCS_MIN+=	Transforms/Utils/LoopUnrollRuntime.cpp
SRCS_MIN+=	Transforms/Utils/LoopUtils.cpp
SRCS_MIN+=	Transforms/Utils/LoopVersioning.cpp
SRCS_MIN+=	Transforms/Utils/LowerAtomic.cpp
SRCS_MIN+=	Transforms/Utils/LowerGlobalDtors.cpp
SRCS_MIN+=	Transforms/Utils/LowerIFunc.cpp
SRCS_MIN+=	Transforms/Utils/LowerInvoke.cpp
SRCS_MIN+=	Transforms/Utils/LowerMemIntrinsics.cpp
SRCS_MIN+=	Transforms/Utils/LowerSwitch.cpp
SRCS_MIN+=	Transforms/Utils/MatrixUtils.cpp
SRCS_MIN+=	Transforms/Utils/Mem2Reg.cpp
SRCS_MIN+=	Transforms/Utils/MemoryOpRemark.cpp
SRCS_MIN+=	Transforms/Utils/MemoryTaggingSupport.cpp
SRCS_MIN+=	Transforms/Utils/MetaRenamer.cpp
SRCS_MIN+=	Transforms/Utils/MisExpect.cpp
SRCS_MIN+=	Transforms/Utils/ModuleUtils.cpp
SRCS_MIN+=	Transforms/Utils/MoveAutoInit.cpp
SRCS_MIN+=	Transforms/Utils/NameAnonGlobals.cpp
SRCS_MIN+=	Transforms/Utils/PredicateInfo.cpp
SRCS_MIN+=	Transforms/Utils/PromoteMemoryToRegister.cpp
SRCS_MIN+=	Transforms/Utils/RelLookupTableConverter.cpp
SRCS_MIN+=	Transforms/Utils/SCCPSolver.cpp
SRCS_MIN+=	Transforms/Utils/SSAUpdater.cpp
SRCS_MIN+=	Transforms/Utils/SSAUpdaterBulk.cpp
SRCS_MIN+=	Transforms/Utils/SampleProfileInference.cpp
SRCS_MIN+=	Transforms/Utils/SampleProfileLoaderBaseUtil.cpp
SRCS_MIN+=	Transforms/Utils/SanitizerStats.cpp
SRCS_MIN+=	Transforms/Utils/ScalarEvolutionExpander.cpp
SRCS_MIN+=	Transforms/Utils/SimplifyCFG.cpp
SRCS_MIN+=	Transforms/Utils/SimplifyIndVar.cpp
SRCS_MIN+=	Transforms/Utils/SimplifyLibCalls.cpp
SRCS_MIN+=	Transforms/Utils/SizeOpts.cpp
SRCS_MIN+=	Transforms/Utils/SplitModule.cpp
SRCS_MIN+=	Transforms/Utils/StripGCRelocates.cpp
SRCS_MIN+=	Transforms/Utils/StripNonLineTableDebugInfo.cpp
SRCS_MIN+=	Transforms/Utils/SymbolRewriter.cpp
SRCS_MIN+=	Transforms/Utils/UnifyFunctionExitNodes.cpp
SRCS_MIN+=	Transforms/Utils/UnifyLoopExits.cpp
SRCS_EXT+=	Transforms/Utils/Utils.cpp
SRCS_MIN+=	Transforms/Utils/VNCoercion.cpp
SRCS_MIN+=	Transforms/Utils/ValueMapper.cpp
SRCS_MIN+=	Transforms/Vectorize/LoadStoreVectorizer.cpp
SRCS_MIN+=	Transforms/Vectorize/LoopIdiomVectorize.cpp
SRCS_MIN+=	Transforms/Vectorize/LoopVectorizationLegality.cpp
SRCS_MIN+=	Transforms/Vectorize/LoopVectorize.cpp
SRCS_MIN+=	Transforms/Vectorize/SLPVectorizer.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlan.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlanAnalysis.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlanHCFGBuilder.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlanRecipes.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlanTransforms.cpp
SRCS_MIN+=	Transforms/Vectorize/VPlanVerifier.cpp
SRCS_MIN+=	Transforms/Vectorize/VectorCombine.cpp
SRCS_EXT+=	Transforms/Vectorize/Vectorize.cpp
SRCS_MIN+=	WindowsDriver/MSVCPaths.cpp	
SRCS_EXT+=	XRay/BlockIndexer.cpp
SRCS_EXT+=	XRay/BlockVerifier.cpp
SRCS_EXT+=	XRay/FDRRecordProducer.cpp
SRCS_EXT+=	XRay/FDRRecords.cpp
SRCS_EXT+=	XRay/FDRTraceExpander.cpp
SRCS_EXT+=	XRay/FileHeaderReader.cpp
SRCS_EXT+=	XRay/InstrumentationMap.cpp
SRCS_EXT+=	XRay/LogBuilderConsumer.cpp
SRCS_EXT+=	XRay/RecordInitializer.cpp
SRCS_EXT+=	XRay/Trace.cpp

SRCS_ALL+=	${SRCS_MIN}
.if !defined(TOOLS_PREFIX) || ${MK_LLD_BOOTSTRAP} != "no"
SRCS_ALL+=	${SRCS_MIW}
.endif
.if ${MK_CLANG_EXTRAS} != "no"
SRCS_ALL+=	${SRCS_EXT}
.endif
.if ${MK_CLANG_FULL} != "no"
SRCS_ALL+=	${SRCS_FUL}
.endif
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLD} != "no" || \
    (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
SRCS_ALL+=	${SRCS_EXL}
.endif
.if ${MK_LLD} != "no" || \
    (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
SRCS_ALL+=	${SRCS_LLD}
.endif
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no"
SRCS_ALL+=	${SRCS_XDB}
.endif
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" || ${MK_LLD} != "no" || \
    (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
SRCS_ALL+=	${SRCS_XDL}
.endif
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" || !defined(TOOLS_PREFIX)
SRCS_ALL+=	${SRCS_XDW}
.endif
.if ${MK_LLVM_COV} != "no"
SRCS_ALL+=	${SRCS_COV}
.endif
SRCS+=		${GENSRCS}
SRCS+=		${SRCS_ALL:O}

llvm/CodeGen/GenVT.inc: ${LLVM_SRCS}/include/llvm/CodeGen/ValueTypes.td
	${LLVM_MIN_TBLGEN} -gen-vt \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/CodeGen/ValueTypes.td
TGHDRS+=	llvm/CodeGen/GenVT.inc

llvm/Frontend/OpenMP/OMP.h.inc: ${LLVM_SRCS}/include/llvm/Frontend/OpenMP/OMP.td
	${LLVM_TBLGEN} --gen-directive-decl \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/Frontend/OpenMP/OMP.td
TGHDRS+=	llvm/Frontend/OpenMP/OMP.h.inc

llvm/Frontend/OpenMP/OMP.inc: ${LLVM_SRCS}/include/llvm/Frontend/OpenMP/OMP.td
	${LLVM_TBLGEN} --gen-directive-impl \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/Frontend/OpenMP/OMP.td
TGHDRS+=	llvm/Frontend/OpenMP/OMP.inc

llvm/IR/Attributes.inc: ${LLVM_SRCS}/include/llvm/IR/Attributes.td
	${LLVM_TBLGEN} -gen-attrs \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/IR/Attributes.td
TGHDRS+=	llvm/IR/Attributes.inc

llvm/IR/IntrinsicEnums.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
	${LLVM_TBLGEN} -gen-intrinsic-enums \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
TGHDRS+=	llvm/IR/IntrinsicEnums.inc

llvm/IR/IntrinsicImpl.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
	${LLVM_TBLGEN} -gen-intrinsic-impl \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
TGHDRS+=	llvm/IR/IntrinsicImpl.inc

.for arch in \
	AArch64/aarch64 AMDGPU/amdgcn ARM/arm BPF/bpf DirectX/dx \
	Hexagon/hexagon LoongArch/loongarch Mips/mips NVPTX/nvvm PowerPC/ppc \
	R600/r600 RISCV/riscv S390/s390 SPIRV/spv VE/ve WebAssembly/wasm \
	X86/x86 XCore/xcore
llvm/IR/Intrinsics${arch:H}.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
	${LLVM_TBLGEN} -gen-intrinsic-enums -intrinsic-prefix=${arch:T} \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
TGHDRS+=	llvm/IR/Intrinsics${arch:H}.h
.endfor

.for arch in AArch64/arm ARM/arm RISCV/riscv
llvm/TargetParser/${arch:H}TargetParserDef.inc: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:H}.td
	${LLVM_TBLGEN} -gen-${arch:T}-target-def \
	    -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \
	    -d ${.TARGET}.d -o ${.TARGET} ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:H}.td
TGHDRS+=	llvm/TargetParser/${arch:H}TargetParserDef.inc
.endfor

llvm-lib/Options.inc: ${LLVM_SRCS}/lib/ToolDrivers/llvm-lib/Options.td
	${LLVM_TBLGEN} -gen-opt-parser-defs \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/lib/ToolDrivers/llvm-lib/Options.td
TGHDRS+=	llvm-lib/Options.inc
CFLAGS.LibDriver.cpp+=	-I${.OBJDIR}/llvm-lib

llvm-dlltool/Options.inc: ${LLVM_SRCS}/lib/ToolDrivers/llvm-dlltool/Options.td
	${LLVM_TBLGEN} -gen-opt-parser-defs \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/lib/ToolDrivers/llvm-dlltool/Options.td
TGHDRS+=	llvm-dlltool/Options.inc
CFLAGS.DlltoolDriver.cpp+=	-I${.OBJDIR}/llvm-dlltool

.if ${MK_CLANG_EXTRAS} != "no"
COFFOptions.inc: ${LLVM_SRCS}/lib/ExecutionEngine/JITLink/COFFOptions.td
	${LLVM_TBLGEN} -gen-opt-parser-defs \
	    -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
	    ${LLVM_SRCS}/lib/ExecutionEngine/JITLink/COFFOptions.td
TGHDRS+=	COFFOptions.inc
.endif

beforebuild:
# 20170724 remove stale Options.inc file, of which there are two different
# versions after upstream r308421, one for llvm-lib, one for llvm-dlltool
.for f in Options.inc
.if exists(${f}) || exists(${f}.d)
	@echo Removing stale generated ${f} files
	@rm -f ${f} ${f}.d
.endif
.endfor

# Note: some rules are superfluous, not every combination is valid.
.for arch in \
	AArch64/AArch64 ARM/ARM BPF/BPF Mips/Mips PowerPC/PPC RISCV/RISCV \
	X86/X86
. for hdr in \
	AsmMatcher/-gen-asm-matcher \
	AsmWriter/-gen-asm-writer \
	AsmWriter1/-gen-asm-writer,-asmwriternum=1 \
	CallingConv/-gen-callingconv \
	CodeEmitter/-gen-emitter \
	CompressInstEmitter/-gen-compress-inst-emitter \
	DAGISel/-gen-dag-isel \
	DisassemblerTables/-gen-disassembler \
	FastISel/-gen-fast-isel \
	FoldTables/-gen-x86-fold-tables,-asmwriternum=1 \
	GlobalISel/-gen-global-isel \
	InstrInfo/-gen-instr-info${arch:MX86/X86:C/X86\/X86/,-instr-info-expand-mi-operand-info=0/} \
	InstrMapping/-gen-x86-instr-mapping \
	MCCodeEmitter/-gen-emitter \
	MCPseudoLowering/-gen-pseudo-lowering \
	MacroFusion/-gen-macro-fusion-pred \
	MnemonicTables/-gen-x86-mnemonic-tables,-asmwriternum=1 \
	O0PreLegalizeGICombiner/-gen-global-isel-combiner,-combiners=${arch:H}O0PreLegalizerCombiner \
	PostLegalizeGICombiner/-gen-global-isel-combiner,-combiners=${arch:H}PostLegalizerCombiner \
	PostLegalizeGILowering/-gen-global-isel-combiner,-combiners=${arch:H}PostLegalizerLowering \
	PreLegalizeGICombiner/-gen-global-isel-combiner,-combiners=${arch:H}PreLegalizerCombiner \
	RegisterBank/-gen-register-bank \
	RegisterInfo/-gen-register-info \
	SearchableTables/-gen-searchable-tables \
	SubtargetInfo/-gen-subtarget \
	SystemOperands/-gen-searchable-tables \
	SystemRegister/-gen-searchable-tables
.  if "${arch:T}" == "RISCV" && "${hdr:T:C/(-gen-global-isel).*/\1/}" == "-gen-global-isel"
tdfile_${arch:T}_${hdr:H}=	${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}GISel.td
.  else
tdfile_${arch:T}_${hdr:H}=	${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
.endif
${arch:T}Gen${hdr:H}.inc: ${tdfile_${arch:T}_${hdr:H}}
	${LLVM_TBLGEN} ${hdr:T:C/,/ /g} \
	    -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \
	    -d ${.TARGET}.d -o ${.TARGET} \
	    ${tdfile_${arch:T}_${hdr:H}}
. endfor
.endfor
.if ${MK_LLVM_TARGET_AARCH64} != "no"
TGHDRS+=	AArch64GenAsmMatcher.inc
TGHDRS+=	AArch64GenAsmWriter.inc
TGHDRS+=	AArch64GenAsmWriter1.inc
TGHDRS+=	AArch64GenCallingConv.inc
TGHDRS+=	AArch64GenDAGISel.inc
TGHDRS+=	AArch64GenDisassemblerTables.inc
TGHDRS+=	AArch64GenFastISel.inc
TGHDRS+=	AArch64GenGlobalISel.inc
TGHDRS+=	AArch64GenInstrInfo.inc
TGHDRS+=	AArch64GenMCCodeEmitter.inc
TGHDRS+=	AArch64GenMCPseudoLowering.inc
TGHDRS+=	AArch64GenO0PreLegalizeGICombiner.inc
TGHDRS+=	AArch64GenPostLegalizeGICombiner.inc
TGHDRS+=	AArch64GenPostLegalizeGILowering.inc
TGHDRS+=	AArch64GenPreLegalizeGICombiner.inc
TGHDRS+=	AArch64GenRegisterBank.inc
TGHDRS+=	AArch64GenRegisterInfo.inc
TGHDRS+=	AArch64GenSubtargetInfo.inc
TGHDRS+=	AArch64GenSystemOperands.inc
.endif # MK_LLVM_TARGET_AARCH64
.if ${MK_LLVM_TARGET_ARM} != "no"
TGHDRS+=	ARMGenAsmMatcher.inc
TGHDRS+=	ARMGenAsmWriter.inc
TGHDRS+=	ARMGenCallingConv.inc
TGHDRS+=	ARMGenDAGISel.inc
TGHDRS+=	ARMGenDisassemblerTables.inc
TGHDRS+=	ARMGenFastISel.inc
TGHDRS+=	ARMGenGlobalISel.inc
TGHDRS+=	ARMGenInstrInfo.inc
TGHDRS+=	ARMGenMCCodeEmitter.inc
TGHDRS+=	ARMGenMCPseudoLowering.inc
TGHDRS+=	ARMGenRegisterBank.inc
TGHDRS+=	ARMGenRegisterInfo.inc
TGHDRS+=	ARMGenSubtargetInfo.inc
TGHDRS+=	ARMGenSystemRegister.inc
.endif # MK_LLVM_TARGET_ARM
.if ${MK_LLVM_TARGET_BPF} != "no"
TGHDRS+=	BPFGenAsmMatcher.inc
TGHDRS+=	BPFGenAsmWriter.inc
TGHDRS+=	BPFGenCallingConv.inc
TGHDRS+=	BPFGenDAGISel.inc
TGHDRS+=	BPFGenDisassemblerTables.inc
TGHDRS+=	BPFGenGlobalISel.inc
TGHDRS+=	BPFGenInstrInfo.inc
TGHDRS+=	BPFGenMCCodeEmitter.inc
TGHDRS+=	BPFGenRegisterBank.inc
TGHDRS+=	BPFGenRegisterInfo.inc
TGHDRS+=	BPFGenSubtargetInfo.inc
.endif # MK_LLVM_TARGET_BPF
.if ${MK_LLVM_TARGET_MIPS} != "no"
TGHDRS+=	MipsGenAsmMatcher.inc
TGHDRS+=	MipsGenAsmWriter.inc
TGHDRS+=	MipsGenCallingConv.inc
TGHDRS+=	MipsGenDAGISel.inc
TGHDRS+=	MipsGenDisassemblerTables.inc
TGHDRS+=	MipsGenFastISel.inc
TGHDRS+=	MipsGenGlobalISel.inc
TGHDRS+=	MipsGenInstrInfo.inc
TGHDRS+=	MipsGenMCCodeEmitter.inc
TGHDRS+=	MipsGenMCPseudoLowering.inc
TGHDRS+=	MipsGenPostLegalizeGICombiner.inc
TGHDRS+=	MipsGenRegisterBank.inc
TGHDRS+=	MipsGenRegisterInfo.inc
TGHDRS+=	MipsGenSubtargetInfo.inc
.endif # MK_LLVM_TARGET_MIPS
.if ${MK_LLVM_TARGET_POWERPC} != "no"
TGHDRS+=	PPCGenAsmMatcher.inc
TGHDRS+=	PPCGenAsmWriter.inc
TGHDRS+=	PPCGenCallingConv.inc
TGHDRS+=	PPCGenDAGISel.inc
TGHDRS+=	PPCGenDisassemblerTables.inc
TGHDRS+=	PPCGenFastISel.inc
TGHDRS+=	PPCGenGlobalISel.inc
TGHDRS+=	PPCGenInstrInfo.inc
TGHDRS+=	PPCGenMCCodeEmitter.inc
TGHDRS+=	PPCGenRegisterBank.inc
TGHDRS+=	PPCGenRegisterInfo.inc
TGHDRS+=	PPCGenSubtargetInfo.inc
.endif # MK_LLVM_TARGET_POWERPC
.if ${MK_LLVM_TARGET_RISCV} != "no"
TGHDRS+=	RISCVGenAsmMatcher.inc
TGHDRS+=	RISCVGenAsmWriter.inc
TGHDRS+=	RISCVGenCallingConv.inc
TGHDRS+=	RISCVGenCompressInstEmitter.inc
TGHDRS+=	RISCVGenDAGISel.inc
TGHDRS+=	RISCVGenDAGISel.inc
TGHDRS+=	RISCVGenDisassemblerTables.inc
TGHDRS+=	RISCVGenGlobalISel.inc
TGHDRS+=	RISCVGenInstrInfo.inc
TGHDRS+=	RISCVGenMCCodeEmitter.inc
TGHDRS+=	RISCVGenMCPseudoLowering.inc
TGHDRS+=	RISCVGenMacroFusion.inc
TGHDRS+=	RISCVGenO0PreLegalizeGICombiner.inc
TGHDRS+=	RISCVGenPostLegalizeGICombiner.inc
TGHDRS+=	RISCVGenPreLegalizeGICombiner.inc
TGHDRS+=	RISCVGenRegisterBank.inc
TGHDRS+=	RISCVGenRegisterInfo.inc
TGHDRS+=	RISCVGenSearchableTables.inc
TGHDRS+=	RISCVGenSubtargetInfo.inc
TGHDRS+=	RISCVGenSystemOperands.inc
.endif # MK_LLVM_TARGET_RISCV
.if ${MK_LLVM_TARGET_X86} != "no"
TGHDRS+=	X86GenAsmMatcher.inc
TGHDRS+=	X86GenAsmWriter.inc
TGHDRS+=	X86GenAsmWriter1.inc
TGHDRS+=	X86GenCallingConv.inc
TGHDRS+=	X86GenDAGISel.inc
TGHDRS+=	X86GenDisassemblerTables.inc
TGHDRS+=	X86GenFastISel.inc
TGHDRS+=	X86GenFoldTables.inc
TGHDRS+=	X86GenGlobalISel.inc
TGHDRS+=	X86GenInstrInfo.inc
TGHDRS+=	X86GenInstrMapping.inc
TGHDRS+=	X86GenMnemonicTables.inc
TGHDRS+=	X86GenRegisterBank.inc
TGHDRS+=	X86GenRegisterInfo.inc
TGHDRS+=	X86GenSubtargetInfo.inc
.endif # MK_LLVM_TARGET_X86

DEPENDFILES+=	${TGHDRS:C/$/.d/}
DPSRCS+=	${TGHDRS}
CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
CLEANFILES+=	${GENSRCS} ${GENSRCS:C/$/.d/}

.include "../llvm.build.mk"
.include <bsd.lib.mk>
